)]}'
{
  "log": [
    {
      "commit": "73e28dcc6125f616cf1f2d56443d22428a79e434",
      "tree": "bc26b3d1bb2e1675b7dae14b6c9cda1cd42c90d6",
      "parents": [
        "1c3dd8ddcba63c1af5112e567215b3cec2de11d0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 17 21:08:33 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 17 21:08:33 2022 +0100"
      },
      "message": "patch 9.0.0491: no good reason to build without the float feature\n\nProblem:    No good reason to build without the float feature.\nSolution:   Remove configure check for float and \"#ifdef FEAT_FLOAT\".\n"
    },
    {
      "commit": "a4d158b3c839e96ed98ff87c7b7124ff4518c4ff",
      "tree": "42d3a6b65d4ae53a6e078c8f24a5ee9960e3ad24",
      "parents": [
        "28c9f895716cfa8f1220bc41b72a534c0e10cabe"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 14:17:45 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 14:17:45 2022 +0100"
      },
      "message": "patch 9.0.0206: redraw flags are not named specifically\n\nProblem:    Redraw flags are not named specifically.\nSolution:   Prefix \"UPD_\" to the flags, for UPDate_screen().\n"
    },
    {
      "commit": "37233f6022b3ed16985a91d22752b3ca162e21d0",
      "tree": "7acd09e661dae2e3d293f5feda74af1f021e05f1",
      "parents": [
        "0ad00a7fd3e0389f565876521e395c35144d8009"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 22 12:23:48 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 22 12:23:48 2022 +0100"
      },
      "message": "patch 8.2.4997: Python: changing hidden buffer can cause display mess up\n\nProblem:    Python: changing hidden buffer can cause the display to be messed\n            up.\nSolution:   Do not mark changed lines when using another buffer. (Paul Ollis,\n            closes #10437, closes #7972)\n"
    },
    {
      "commit": "9f1983de4e8293bae32fdab72a459b1b64bf767f",
      "tree": "15b189fe27c86afd6b88e1d9db2c2e1fdfa3bc56",
      "parents": [
        "3f32a5f1601ab2b0eba0caad00d4c26fb86a02a2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 12 20:35:35 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 12 20:35:35 2022 +0100"
      },
      "message": "patch 8.2.4945: inconsistent use of white space\n\nProblem:    Inconsistent use of white space.\nSolution:   Use Tabs and Spaces consistently.\n"
    },
    {
      "commit": "9dac9b1751dd43c02470cc6a2aecaeea27abcc80",
      "tree": "b4f2ed0cd629c7773bbb6fee0ed6d0ec59e8eeaf",
      "parents": [
        "3e559cd88486ffab6b6fb4e0921b4600d137a617"
      ],
      "author": {
        "name": "kylo252",
        "email": "59826753+kylo252@users.noreply.github.com",
        "time": "Sun Mar 27 20:05:17 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 27 20:05:17 2022 +0100"
      },
      "message": "patch 8.2.4639: not sufficient parenthesis in preprocessor macros\n\nProblem:    Not sufficient parenthesis in preprocessor macros.\nSolution:   Add more parenthesis. (closes #10031)\n"
    },
    {
      "commit": "c14f667626ba677a767d474324306e39096dc43e",
      "tree": "ef30800f9cf8e325e8ddf6d5bfe61b1e9b884abe",
      "parents": [
        "f85a424c832777892c4efaff163c2fa710ce8d91"
      ],
      "author": {
        "name": "Dominique Pelle",
        "email": "dominique.pelle@gmail.com",
        "time": "Sun Jan 09 12:57:48 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 09 12:57:48 2022 +0000"
      },
      "message": "patch 8.2.4048: gcc complains about use of \"%p\" in printf\n\nProblem:    gcc complains about use of \"%p\" in printf.\nSolution:   Add (void *) typecast. (Dominique Pellé, closes #9494)\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": "18f4740f043b353abe47b7a00131317052457686",
      "tree": "e5c469ce7c20a1801a9340ab2027455e256f1b55",
      "parents": [
        "a33737b6d80f5461c1c6c4c96b5bc4964a737927"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 06 13:24:51 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 06 13:24:51 2022 +0000"
      },
      "message": "patch 8.2.4018: ml_get error when win_execute redraws with Visual selection\n\nProblem:    ml_get error when win_execute redraws with Visual selection.\nSolution:   Disable Visual area temporarily. (closes #9479)\n"
    },
    {
      "commit": "d82a47dd0493ee976aa3f15ecdc9aea7da6ad5bf",
      "tree": "604109254c7057942fce5c1af26fdd1bc36c066f",
      "parents": [
        "bb8cac56d9c398a2b546d9c81c15e8c3d8fd811e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 20:24:39 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 20:24:39 2022 +0000"
      },
      "message": "patch 8.2.4012: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move the last error messages to errors.h.\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": "9a846fbaa569b3690d70606f2a86e97f77a05496",
      "tree": "cbe5304927fe21586593c94342e4f023aa3e0837",
      "parents": [
        "b34689010a587e85ff724051f276513a15c634d0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 21:59:18 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 21:59:18 2022 +0000"
      },
      "message": "patch 8.2.3977: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more error messages to errors.h.\n"
    },
    {
      "commit": "7a3fe3e180bdbce8f193abdf399559c5154bdaae",
      "tree": "842eac4734c81db7a49ddaaf20b4fea732bb8162",
      "parents": [
        "a74901929e999a0052c1ce388ab09359c10cbb0d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 22 14:58:47 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 22 14:58:47 2021 +0200"
      },
      "message": "patch 8.2.3200: Vim9: hard to guess where a type error is given\n\nProblem:    Vim9: hard to guess where a type error is given.\nSolution:   Add the function name where possible. (closes #8608)\n"
    },
    {
      "commit": "f18332fb9e2e4208a97d800f096b02c6681780e7",
      "tree": "8cbfcb58bfbe67b2549d76ba721b2db9c33a602b",
      "parents": [
        "e08795e1ecf0b85751e9f41021603c39ef026d92"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 07 17:55:55 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 07 17:55:55 2021 +0200"
      },
      "message": "patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled\n\nProblem:    Vim9: skip argument to searchpair() is not compiled.\nSolution:   Add VAR_INSTR.\n"
    },
    {
      "commit": "21578271bb717f7ab7b8728e9efa54c3b60ee7e4",
      "tree": "bc84fb32dacad216019810d5702e13aca8d83133",
      "parents": [
        "027c4ab4d2e3ff031b98e0fb648f5acbea180293"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 21 19:12:47 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 21 19:12:47 2021 +0100"
      },
      "message": "patch 8.2.2538: crash when using Python list iterator\n\nProblem:    Crash when using Python list iterator.\nSolution:   Increment the list reference count. (closes #7886)\n"
    },
    {
      "commit": "2e2f52a4a0fd560d37a11a7383a4d52b63ca6cfc",
      "tree": "c4bde05ee74541b38cfb98052cb4dd64ea91c999",
      "parents": [
        "ef2dff52de52c17fe1bd7c06cbb32d8955901f5a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 21 16:03:02 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 21 16:03:02 2020 +0100"
      },
      "message": "patch 8.2.2178: Python 3: non-utf8 character cannot be handled\n\nProblem:    Python 3: non-utf8 character cannot be handled.\nSolution:   Change the string decode. (Björn Linse, closes #1053)\n"
    },
    {
      "commit": "4ce5fe4c87820c7d22964d6e91d7b07e96640e6f",
      "tree": "900ca0ee352311d36d485c2dd12a9e828e274ab3",
      "parents": [
        "c58f5456e5c5f21193e960cecc434e367ef1281e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 21 21:01:59 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 21 21:01:59 2020 +0200"
      },
      "message": "patch 8.2.1883: compiler warnings when using Python\n\nProblem:    Compiler warnings when using Python.\nSolution:   Adjust PyCFunction to also have the second argument.  Use \"int\"\n            return type for some functions.  Insert \"(void *)\" to get rid of\n            the remaining warnings.\n"
    },
    {
      "commit": "efc0d94afc48a03b07955e91315e7e67945cd079",
      "tree": "75e42d881bc5f83429372139eb0cb5f8d554fb59",
      "parents": [
        "204ade6bcb85f48f56e52e040d1ebf40548d92be"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 11 18:05:02 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 11 18:05:02 2020 +0200"
      },
      "message": "patch 8.2.1834: PyEval_InitThreads() is deprecated in Python 3.9\n\nProblem:    PyEval_InitThreads() is deprecated in Python 3.9.\nSolution:   Do not call PyEval_InitThreads in Python 3.9 and later. (Ken\n            Takata, closes #7113)  Avoid warnings for functions.\n"
    },
    {
      "commit": "423a85a11a9d3d658906aea715fed7fe6aa83cd8",
      "tree": "e37cd64de2c0662552bba8ded601ebc3b00db093",
      "parents": [
        "b06a6d59d12dbd67d55b3c46f6e5547e9103c931"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 29 12:57:16 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 29 12:57:16 2020 +0200"
      },
      "message": "patch 8.2.1538: Python: iteration over vim objects fails to keep reference\n\nProblem:    Python: iteration over vim objects fails to keep reference.\nSolution:   Keep a reference for the object. (Paul Ollis, closes #6803,\n            closes #6806)\n"
    },
    {
      "commit": "1f22cc5cdb2da867d6bbf54dd371f279c38a2f56",
      "tree": "32d3ebe3de935d0e295c8725b160b1a723f5cfd7",
      "parents": [
        "21c16f868d725fffc8fa36620cba33dd5f2ed576"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 14 21:08:49 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 14 21:08:49 2020 +0200"
      },
      "message": "patch 8.2.1210: using ht_used when looping through a hashtab is less reliable\n\nProblem:    Using ht_used when looping through a hashtab is less reliable.\nSolution:   Use ht_changed in a few more places.\n"
    },
    {
      "commit": "bb790dcc46b74e6f9a1c4126be8a575f9fe73444",
      "tree": "c17157a26c3b5b3bbfc87fa88067ee06aec7cf08",
      "parents": [
        "007f9d6ed597bd212acb95be9d0767c97d2a1438"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 07 20:12:54 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 07 20:12:54 2020 +0200"
      },
      "message": "patch 8.2.1150: ml_get error when using Python\n\nProblem:    ml_get error when using Python. (Yegappan Lakshmanan)\nSolution:   Check the line number is not out of range.  Call \"Check\" with\n            \"fromObj\" instead of \"from\".\n"
    },
    {
      "commit": "ab5894638413748fcedfe28691e6c27893924520",
      "tree": "45318c835f879c4ff5f235f7774c37f5a6a9d359",
      "parents": [
        "0ad3e894d75236915e67dfbbcc821b6bb3c05d91"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 06 21:03:06 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 06 21:03:06 2020 +0200"
      },
      "message": "patch 8.2.1146: not enough testing for Python\n\nProblem:    Not enough testing for Python.\nSolution:   Add more tests.  Fix uncovered problems. (Yegappan Lakshmanan,\n            closes #6392)\n"
    },
    {
      "commit": "de19b745eee06a8a204988ae9989d97143caece9",
      "tree": "c2c3333817621f793199120b6e40f67602b674e0",
      "parents": [
        "cf070112ca2a6ac9ec5466be1cdc667f6abe8fd0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 29 23:07:44 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 29 23:07:44 2020 +0200"
      },
      "message": "patch 8.2.1093: Python: double free when adding item to dict fails\n\nProblem:    Python: double free when adding item to dict fails.\nSolution:   Remove vim_free() call.\n"
    },
    {
      "commit": "ca70c07b72c24aae3d141e67d08f50361f051af5",
      "tree": "98b26c267d6924c2a7464e08dc9fcacdd94d771f",
      "parents": [
        "d6cd5ffade84a1054fed23079133af3b837033bf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 20:30:46 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 20:30:46 2020 +0200"
      },
      "message": "patch 8.2.0853: ml_delete() often called with FALSE argument\n\nProblem:    ml_delete() often called with FALSE argument.\nSolution:   Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE.\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": "86181df9f5501ba735dcb75e0832c35ac1212ca6",
      "tree": "000721bba20b6216f44cd77844e363ce1613f6a5",
      "parents": [
        "b415168a9862023462b7193e83da948cb8d11893"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 11 23:14:04 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 11 23:14:04 2020 +0200"
      },
      "message": "patch 8.2.0740: minor message mistakes\n\nProblem:    Minor message mistakes.\nSolution:   Change vim to Vim and other fixes.\n"
    },
    {
      "commit": "a14bb7e1132377af60910402f1a9e4796297f5df",
      "tree": "f7ebcef31c09c9483924db5019f9febb592f9af3",
      "parents": [
        "03afdcf1f449d23c9b6bc56d8b61f31dd4e11836"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 28 00:02:41 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 28 00:02:41 2020 +0200"
      },
      "message": "patch 8.2.0654: building with Python fails\n\nProblem:    Building with Python fails.\nSolution:   Add missing argument.\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": "4c68375057c25e99656bc996d3fa5c6b0b6a7e6a",
      "tree": "2be5b8f84ba889bab8caf91898092eaaba96216c",
      "parents": [
        "f87a0400fd81862c33d6ad2291a56e178db7dddd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 05 21:38:23 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 05 21:38:23 2020 +0200"
      },
      "message": "patch 8.2.0517: Vim9: cannot separate \"func\" and \"func(): void\"\n\nProblem:    Vim9: cannot separate \"func\" and \"func(): void\".\nSolution:   Use VAR_ANY for \"any\" and VAR_UNKNOWN for \"no type\".\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": "0ff6aad393c4130818fb4f49137380f78d7cc882",
      "tree": "e3a6207de8cae98003e0c30878a943fcde5888e8",
      "parents": [
        "4549ece47cc8d6487d8e64ae37361fea87e3ad39"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 29 21:27:21 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 29 21:27:21 2020 +0100"
      },
      "message": "patch 8.2.0173: build fails with old compiler\n\nProblem:    Build fails with old compiler.\nSolution:   Do not use anonymous unions. (John Marriott)\n"
    },
    {
      "commit": "a5d5953d59730d9bf9c00a727c4aeb56f6ffc944",
      "tree": "c5bec5d9cd05b5f9772c98e1313c0594c5003df4",
      "parents": [
        "21b9e9773d64de40994f8762173bdd8befa6acf7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 21:42:03 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 21:42:03 2020 +0100"
      },
      "message": "patch 8.2.0155: warnings from MinGW compiler; tests fail without +float\n\nProblem:    Warnings from MinGW compiler. (John Marriott) Json test fails when\n            building without +float feature.\nSolution:   Init variables. Fix Json parsing. Skip a few tests that require\n            the +float feature.\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": "9b4a15d5dba354d2e1e02871470bad103f34769a",
      "tree": "e5e49ad3182e07e641cdea0e04c4a8078186c58c",
      "parents": [
        "e05a89ac6399a8c7d164c99fdab6841d999a9128"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 11 16:05:23 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 11 16:05:23 2020 +0100"
      },
      "message": "patch 8.2.0111: VAR_SPECIAL is also used for booleans\n\nProblem:    VAR_SPECIAL is also used for booleans.\nSolution:   Add VAR_BOOL for better type checking.\n"
    },
    {
      "commit": "d518f952f0812778758b25139308bcf45df6988c",
      "tree": "be1e160638c6ae91eeded2962329dc708ba03d3d",
      "parents": [
        "87396072c5c468f0c129e4ec7cd944ac897b7752"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 01 15:04:17 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 01 15:04:17 2020 +0100"
      },
      "message": "patch 8.2.0070: crash when using Python 3 with \"debug\" encoding\n\nProblem:    Crash when using Python 3 with \"debug\" encoding. (Dominique Pelle)\nSolution:   Use \"euc-jp\" whenever enc_dbcs is set.\n"
    },
    {
      "commit": "556684ff71e044a642879d759373a7ebc5047fad",
      "tree": "693aba1258b64d3bebd7754324363067352e90a3",
      "parents": [
        "ef140544f6703a7a4c0f6a15f610508ed6b09e89"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 31 21:59:01 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 31 21:59:01 2019 +0100"
      },
      "message": "patch 8.2.0068: crash when using Python 3 with \"utf32\" encoding\n\nProblem:    Crash when using Python 3 with \"utf32\" encoding. (Dominique Pelle)\nSolution:   Use \"utf-8\" whenever enc_utf8 is set. (closes #5423)\n"
    },
    {
      "commit": "9bf703d46a79fbffeb829246ea5ce385bddc4166",
      "tree": "6afff788b4fbd8fbf61557c47c24c26c975ea8ee",
      "parents": [
        "20ebbeac461ffc2a5e5dbfbb0ba380b8854615bd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 19:44:38 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 19:44:38 2019 +0100"
      },
      "message": "patch 8.1.2366: using old C style comments\n\nProblem:    Using old C style comments.\nSolution:   Use // comments where appropriate.\n"
    },
    {
      "commit": "b98678a974914aaf1d00b575364c13a6446353bf",
      "tree": "2a9a00300b93f1899fef5c410fcde4a908119461",
      "parents": [
        "15ee567809a9808693163dd7c357ef0c172ecc9e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 19 15:18:44 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 19 15:18:44 2019 +0200"
      },
      "message": "patch 8.1.2179: pressing \"q\" at the more prompt doesn\u0027t stop Python output\n\nProblem:    Pressing \"q\" at the more prompt doesn\u0027t stop Python output. (Daniel\n            Hahler)\nSolution:   Check for got_int in writer(). (closes #5053)\n            Also do this for Lua.\n"
    },
    {
      "commit": "da6c03342117fb7f4a8110bd9e8627b612a05a64",
      "tree": "978562abf59627127149d50d9f2650a69e78c078",
      "parents": [
        "0fdddeeb66bbe326860ddfc573eba42f6487bbda"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 01 16:01:30 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 01 16:01:30 2019 +0200"
      },
      "message": "patch 8.1.1957: more code can be moved to evalvars.c\n\nProblem:    More code can be moved to evalvars.c.\nSolution:   Move code to where it fits better. (Yegappan Lakshmanan,\n            closes #4883)\n"
    },
    {
      "commit": "7be3ab25891fec711d8a2d9d242711a9155852b6",
      "tree": "3dab3f000e881253f5ca0961ea13b8abc2a0d39d",
      "parents": [
        "0fcf26ba4ffaaa6a2fb8d879dc24b5f7e1bb6a13"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 01:46:15 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 01:46:15 2019 +0200"
      },
      "message": "patch 8.1.1583: set_ref_in_list() only sets ref in items\n\nProblem:    Set_ref_in_list() only sets ref in items.\nSolution:   Rename to set_ref_in_list_items() to avoid confusion.\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": "0b0ad35c339b8ad156df493bebeb77e02b32b120",
      "tree": "989e5e77fb25cc09844b36802e5914f01aea817f",
      "parents": [
        "80341bcd89764d96f87859a3aac8bc00aad1d762"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 20 21:52:45 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 20 21:52:45 2019 +0200"
      },
      "message": "patch 8.1.1361: Python setuptools don\u0027t work with Python 3\n\nProblem:    Python setuptools don\u0027t work with Python 3.\nSolution:   Add dummy implementation for find_module. (Joel Frederico,\n            closes #4402, closes #3984\n"
    },
    {
      "commit": "7f3a28490abb7c495239fc438825e3d1aaafa76d",
      "tree": "1a9c55ef4716279a37b8c837e64af844bd560b78",
      "parents": [
        "6349e9411fd17f80c7aff9c678a8800647d34cfa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 18 15:02:25 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 18 15:02:25 2019 +0200"
      },
      "message": "patch 8.1.1346: error for Python exception does not show useful info\n\nProblem:    Error for Python exception does not show useful info.\nSolution:   Show the last line instead of the first one. (Ben Jackson,\n            closes #4381)\n"
    },
    {
      "commit": "eae1b91fea74842000fc055afc74fe2e7934c6ee",
      "tree": "71fe047a88c21932a4c919c47b5d19847ee65471",
      "parents": [
        "691ddeefb545d8488e5a495af61caba2e57b3de9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 09 15:12:55 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 09 15:12:55 2019 +0200"
      },
      "message": "patch 8.1.1306: Borland support is outdated and doesn\u0027t work\n\nProblem:    Borland support is outdated and doesn\u0027t work.\nSolution:   Remove Borland support, there are other (free) compilers\n            available. (Thomas Dziedzic, Ken Takata, closes #4364)\n"
    },
    {
      "commit": "1063f3d2008f22d02ccfa9dab83a23db52febbdc",
      "tree": "ed4a5e7fddc01bdf2abb1d0d7931010c724d4ac5",
      "parents": [
        "fd31e45e4bccd7070d02e4d20bcab1f45b271600"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 07 22:06:52 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 07 22:06:52 2019 +0200"
      },
      "message": "patch 8.1.1291: not easy to change directory and restore\n\nProblem:    Not easy to change directory and restore.\nSolution:   Add the chdir() function. (Yegappan Lakshmanan, closes #4358)\n"
    },
    {
      "commit": "00aa069db8132851a91cfc5ca7f58ef945c75c73",
      "tree": "54e88e9f1c4a981eb265015eabdc2cde2931cc5e",
      "parents": [
        "2155a6abaa5d065ad7b580229321860591126f2e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 27 20:37:57 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 27 20:37:57 2019 +0200"
      },
      "message": "patch 8.1.1218: cannot set a directory for a tab page\n\nProblem:    Cannot set a directory for a tab page.\nSolution:   Add the tab-local directory. (Yegappan Lakshmanan, closes #4212)\n"
    },
    {
      "commit": "de5b3800427328170574f1950ae75776e020f4e7",
      "tree": "f9457efd3e997c8d2d75cd9bda38cc8a3201b6fc",
      "parents": [
        "bfd36036700ab2d4c9de48e37f222f4a4dd7b3b0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 30 12:51:22 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 30 12:51:22 2019 +0100"
      },
      "message": "patch 8.1.1075: function reference count wrong in Python code\n\nProblem:    Function reference count wrong in Python code.\nSolution:   Use \"O\" instead of \"N\" for the arguments. (Ben Jackson,\n            closes #4188)\n"
    },
    {
      "commit": "63dbfd33c1d47400c62775842b5b750ee69e2383",
      "tree": "37c30be324222ed4a7134224f6878af9c7001786",
      "parents": [
        "c3e92c161d6394d126a334011526c02e8c3f655f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 23 17:41:59 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 23 17:41:59 2019 +0100"
      },
      "message": "patch 8.1.1045: E315 ml_get error when using Python and hidden buffer\n\nProblem:    E315 ml_get error when using Python and hidden buffer.\nSolution:   Make sure the cursor position is valid. (Ben Jackson,\n            closes #4153, closes #4154)\n"
    },
    {
      "commit": "b999ba2778b6c02fdd100e498a9ba5b2e7036f7d",
      "tree": "b79ef646097b6142ee8b48626ac79391b834c8ec",
      "parents": [
        "a787019518a540a7b4d0070f15467931b870ac89"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 14 13:28:45 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 14 13:28:45 2019 +0100"
      },
      "message": "patch 8.1.0916: with Python 3.7 \"find_module\" is not made available\n\nProblem:    With Python 3.7 \"find_module\" is not made available.\nSolution:   Also add \"find_module\" with Python 3.7. (Joel Frederico,\n            closes #3954)\n"
    },
    {
      "commit": "29ddebef4038d2d2b3bc9d8d3b0109f4046d6fbf",
      "tree": "66144403e05268df8594b01d0298db4f570ed60f",
      "parents": [
        "3e460fd8b72db905fbf9f01b00371384ffc415b8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 26 17:28:26 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 26 17:28:26 2019 +0100"
      },
      "message": "patch 8.1.0826: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_VIRTUALEDIT.  Adds about 10Kbyte to the code.\n"
    },
    {
      "commit": "264b74fa545edfb92c0d7d08a02c26331cc5b168",
      "tree": "2cd0e8517c498f4ce1442492572032be9815654d",
      "parents": [
        "a12a161b8ce09d024ed71c2134149fa323f8ee8e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 17:18:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 17:18:42 2019 +0100"
      },
      "message": "patch 8.1.0810: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_MBYTE, part 4.\n"
    },
    {
      "commit": "32526b3c1846025f0e655f41efd4e5428da16b6c",
      "tree": "e9f3ea5e0daaada049e905b5f1b38b4a45511f3d",
      "parents": [
        "d383c92ec1d14ffd5c3802f0ffd763e91d547fa8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 19 17:43:09 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 19 17:43:09 2019 +0100"
      },
      "message": "patch 8.1.0779: argument for message functions is inconsistent\n\nProblem:    Argument for message functions is inconsistent.\nSolution:   Make first argument to msg() \"char *\".\n"
    },
    {
      "commit": "b1443b480fe9965a6eaa9211657d299e88964084",
      "tree": "90f624e14617d31e6d32bdd4d6cb6e8633523252",
      "parents": [
        "f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:51:14 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:51:14 2019 +0100"
      },
      "message": "patch 8.1.0744: compiler warnings for signed/unsigned strings\n\nProblem:    Compiler warnings for signed/unsigned strings.\nSolution:   A few more type cast fixes.\n"
    },
    {
      "commit": "f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d",
      "tree": "a6b07005c19279a4f5d01be14f14861c2657fa95",
      "parents": [
        "05500ece6282407f9f7227aaf564e24147326863"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:38:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:38:42 2019 +0100"
      },
      "message": "patch 8.1.0743: giving error messages is not flexible\n\nProblem:    Giving error messages is not flexible.\nSolution:   Add semsg().  Change argument from \"char_u *\" to \"char *\", also\n            for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes\n            #3302)  Also make emsg() accept a \"char *\" argument.  Get rid of\n            an enormous number of type casts.\n"
    },
    {
      "commit": "6e5ea8d2a995b32bbc5972edc4f827b959f2702f",
      "tree": "b1ad7d6a83f53220227122719d5eb97dd32ff1e6",
      "parents": [
        "e3c74d249ac36404d8af25f74baf335d143b30e3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 12 22:47:31 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 12 22:47:31 2019 +0100"
      },
      "message": "patch 8.1.0735: cannot handle binary data\n\nProblem:    Cannot handle binary data.\nSolution:   Add the Blob type. (Yasuhiro Matsumoto, closes #3638)\n"
    },
    {
      "commit": "80dae04d690d9aba26d443d4a19f3bd45ed0990b",
      "tree": "e34a2cf54cf111c617f1437cc616bfa861dcd8c7",
      "parents": [
        "9123c0b31a283f460ed2b6af95080120cf528118"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 23 13:36:40 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 23 13:36:40 2018 +0100"
      },
      "message": "patch 8.1.0628: Compiler warning on MS-Windows.\n\nProblem:    Compiler warning on MS-Windows.\nSolution:   Add type cast. (Mike Williams)\n"
    },
    {
      "commit": "9123c0b31a283f460ed2b6af95080120cf528118",
      "tree": "275e918901c144e4bfcea65dc761f86f7da27d35",
      "parents": [
        "4814ccbdf0e99e2d33e1ac926c59f677f5c2afe2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 22 18:59:06 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 22 18:59:06 2018 +0100"
      },
      "message": "patch 8.1.0627: Python cannot handle function name of script-local function\n\nProblem:    Python cannot handle function name of script-local function.\nSolution:   Use \u003cSNR\u003e instead of the special byte code. (Ozaki Kiichi, closes\n            #3681)\n"
    },
    {
      "commit": "447bd5a346b5c4bf4d91280700bdb4b45e0aa667",
      "tree": "856ae34ad285ff8b770933d2f69f6bf0e334bfe4",
      "parents": [
        "ee380ae376692529b6f1805185015cb4717c6940"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 07 19:45:27 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 07 19:45:27 2018 +0200"
      },
      "message": "patch 8.1.0247: Python: error message for failing import is incorrect\n\nProblem:    Python: error message for failing import is incorrect.\nSolution:   Adjust how modules are loaded. (Ozaki Kiichi, closes #3162)\n"
    },
    {
      "commit": "53901442f37a59e5495165f91db5574c0b43ab04",
      "tree": "45b25c0438bb017fb7201d9da9394664ed8b9d46",
      "parents": [
        "00136dc321586800986e8f743c2f108f5eecbf92"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 25 22:02:36 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 25 22:02:36 2018 +0200"
      },
      "message": "patch 8.1.0212: preferred cursor column not set in interfaces\n\nProblem:    Preferred cursor column not set in interfaces.\nSolution:   Set w_set_curswant when setting the cursor. (David Hotham,\n            closes #3060)\n"
    },
    {
      "commit": "79a494d5e2f97c10e74f92ea529552623c314422",
      "tree": "2d91ab8e27e53f78d1ea03f744c34addbf0e47c2",
      "parents": [
        "a9604e61451707b38fdcb088fbfaeea2b922fef6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 22 04:30:21 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 22 04:30:21 2018 +0200"
      },
      "message": "patch 8.1.0201: newer Python uses \"importlib\" instead of \"imp\"\n\nProblem:    Newer Python uses \"importlib\" instead of \"imp\".\nSolution:   Use \"importlib\" for newer Python versions. (closes #3163)\n"
    },
    {
      "commit": "c89d4b35300b98cf68b14c89c8e1add51bd857e3",
      "tree": "467d753ac74270da629887f484f797509696d302",
      "parents": [
        "e0be167a805fd547c25ec1ec97fd4c7f13046236"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 08 17:19:02 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 08 17:19:02 2018 +0200"
      },
      "message": "patch 8.1.0167: lock flag in new dictitem is reset in many places\n\nProblem:    Lock flag in new dictitem is reset in many places.\nSolution:   Always reset the lock flag.\n"
    },
    {
      "commit": "e950f9992b291a07e4fb41cb561156f5b382cd5d",
      "tree": "48dad4b4725b9409dccc2e0654f4fb70c9699553",
      "parents": [
        "e31e256ba1769a3a3ed7840d5cc9a01ab058b8bc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 10 13:55:55 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 10 13:55:55 2018 +0200"
      },
      "message": "patch 8.1.0041: attribute \"width\" missing from python window attribute list\n\nProblem:    Attribute \"width\" missing from python window attribute list.\nSolution:   Add the item. (Ken Takata) Order the list like the items are used\n            in the WindowAttr() function.\n"
    },
    {
      "commit": "d4a8c98ef6b294d605c5f93309509a944dc97a79",
      "tree": "4af02ac4a3d6f880ce362789d9f845255499604d",
      "parents": [
        "259f26ac2d41ecfb28b82c651b2bfc1edc7c3e29"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 15 22:31:18 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 15 22:31:18 2018 +0200"
      },
      "message": "patch 8.0.1846: Python interface is incompatible with lldb\n\nProblem:    Python interface is incompatible with lldb.\nSolution:   For OutputType set the base to be PyFile_Type. (Boxu Zhang)\n            Partly disabled to avoid a crash.\n"
    },
    {
      "commit": "792f0e36593d1ec13ccb8a622ca5542c500577b4",
      "tree": "34a6e9340f01bc14adda8f1f286ab56788b06de0",
      "parents": [
        "5d7ead3bc85eefd0929bfcbb579510c8164ea1be"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 27 17:27:13 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 27 17:27:13 2018 +0100"
      },
      "message": "patch 8.0.1550: various small problems in source files\n\nProblem:    Various small problems in source files.\nSolution:   Fix the problems.\n"
    },
    {
      "commit": "9ed7d34af303190bb222624157e0c6cd78b7d120",
      "tree": "5e96e6e7587a075a9558a2c9065375e1e4a7ac7b",
      "parents": [
        "cef7322d8a902b4655ed861489c4e798672074f0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 09 22:10:33 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 09 22:10:33 2017 +0100"
      },
      "message": "patch 8.0.1283: test 86 fails under ASAN\n\nProblem:    Test 86 fails under ASAN.\nSolution:   Fix that an item was added to a dictionary twice.\n"
    },
    {
      "commit": "de323093e1be165a3eadd1ab3d02942358cd97bf",
      "tree": "088f65bfbec9f716e6e9e46936b13110c6d100a3",
      "parents": [
        "040c1feb212568cf04265e59b26182f8b76057aa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 09 19:56:08 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 09 19:56:08 2017 +0100"
      },
      "message": "patch 8.0.1280: Python None cannot be converted to a Vim type\n\nProblem:    Python None cannot be converted to a Vim type.\nSolution:   Convert it to v:none. (Ken Takata)\n"
    },
    {
      "commit": "0263146b5dbbb6c120ce2e7720256503b864425d",
      "tree": "b6f18fde8fd4bbc29c322b414ac584106e512d7a",
      "parents": [
        "53f8174eaeb93b381cf74c58863f8fe82748a22a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 22 15:20:32 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 22 15:20:32 2017 +0200"
      },
      "message": "patch 8.0.1136: W_WIDTH() is always the same\n\nProblem:    W_WIDTH() is always the same.\nSolution:   Expand the macro.\n"
    },
    {
      "commit": "53f8174eaeb93b381cf74c58863f8fe82748a22a",
      "tree": "8f60614e9840f38bd2a05a48809bb7b29adc26b1",
      "parents": [
        "76301956f0c079d893cfd927b11456328bed4f9b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 22 14:35:51 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 22 14:35:51 2017 +0200"
      },
      "message": "patch 8.0.1135: W_WINCOL() is always the same\n\nProblem:    W_WINCOL() is always the same.\nSolution:   Expand the macro.\n"
    },
    {
      "commit": "4033c55eca575777718c0701e26635a0cc47d907",
      "tree": "8dc460ad495106198a9119b52f6505033f7a75b3",
      "parents": [
        "e738a1a033cd31cd2568ba99a9e2dca1e65b45ea"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 16 20:54:51 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 16 20:54:51 2017 +0200"
      },
      "message": "patch 8.0.1118: FEAT_WINDOWS adds a lot of #ifdefs\n\nProblem:    FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always\n            enabled and only adds 7% to the binary size of the tiny build.\nSolution:   Graduate FEAT_WINDOWS.\n"
    },
    {
      "commit": "6b7355a30ddd294c19cd9be924d487d592ccfae1",
      "tree": "94c51538082a4ffe2c0306e6b7422607be5e3696",
      "parents": [
        "8e5eece8c5f22a2235edeb743d06253f6c54cfdc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 04 21:37:54 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 04 21:37:54 2017 +0200"
      },
      "message": "patch 8.0.0860: side effects when channel appends to a buffer\n\nProblem:    There may be side effects when a channel appends to a buffer that\n            is not the current buffer.\nSolution:   Properly switch to another buffer before appending. (Yasuhiro\n            Matsumoto, closes #1926, closes #1937)\n"
    },
    {
      "commit": "45e5fd135da5710f24a1acc142692f120f8b0b78",
      "tree": "db3f8e21176d61550e6c7dbb75dc69faf614c272",
      "parents": [
        "6e62da3e14d32f76f60d5cc8b267059923842f17"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 04 14:58:02 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 04 14:58:02 2017 +0200"
      },
      "message": "patch 8.0.0607: after :bwipe + :new bufref might still be valid\n\nProblem:    When creating a bufref, then using :bwipe and :new it might get\n            the same memory and bufref_valid() returns true.\nSolution:   Add br_fnum to check the buffer number didn\u0027t change.\n"
    },
    {
      "commit": "b544f3c81f1e6a50322855681ac266ffaa8e313c",
      "tree": "65ae4057660ce5f73ad2b3e68fe4645570702b4d",
      "parents": [
        "dc9a081712ec8c140e6d4909e9f6b03a629d32d3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 23 19:03:28 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 23 19:03:28 2017 +0100"
      },
      "message": "patch 8.0.0360: sometimes VimL is used instead of \"Vim script\"\n\nProblem:    Sometimes VimL is used, which is confusing.\nSolution:   Consistently use \"Vim script\". (Hirohito Higashi)\n"
    },
    {
      "commit": "a58883b4ea0bbb813fd4dd7eb49dd6f03e3e5387",
      "tree": "5b4812b921817e5a8417c4cf62fcbcdc53cf3ec4",
      "parents": [
        "d297f35eb0f6cfed47dd7ecf47df62994695a454"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 29 21:31:09 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 29 21:31:09 2017 +0100"
      },
      "message": "patch 8.0.0265: may get ml_get error when :pydo deletes lines\n\nProblem:    May get ml_get error when :pydo deletes lines or switches to\n            another buffer. (Nikolai Pavlov, issue #1421)\nSolution:   Check the buffer and line every time.\n"
    },
    {
      "commit": "9f28953f0c1e3d9fffd49af76503f54eaa279acb",
      "tree": "e56de01b7932e9c941f59a0dcc06cd8e9c65196c",
      "parents": [
        "db249f26edf7a5f88d1f4468d08ec5b84f5ab7ad"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 26 16:39:03 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 26 16:39:03 2016 +0200"
      },
      "message": "patch 7.4.2257\nProblem:    Coverity complains about not checking for NULL.\nSolution:   Check for out of memory.\n"
    },
    {
      "commit": "2d3d60a7d4b410668dfc427120205ccf88789db4",
      "tree": "23a6593069c537b5aad86524d01dac54668768e5",
      "parents": [
        "437bafe4c8a83ed71ee006eda7f54b65a90f0d4c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 16:27:23 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 16:27:23 2016 +0200"
      },
      "message": "patch 7.4.2138\nProblem:    Test 86 and 87 fail.\nSolution:   Call func_ref() also for regular functions.\n"
    },
    {
      "commit": "437bafe4c8a83ed71ee006eda7f54b65a90f0d4c",
      "tree": "dac9426b1bafe44f050bbb13c027de31117c089d",
      "parents": [
        "580164481924ed8611eb79f0247a0eb1ca0b3b9a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 15:40:54 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 15:40:54 2016 +0200"
      },
      "message": "patch 7.4.2137\nProblem:    Using function() with a name will find another function when it is\n            redefined.\nSolution:   Add funcref().  Refer to lambda using a partial.  Fix several\n            reference counting issues.\n"
    },
    {
      "commit": "7c0a2f367f2507669560b1a66423155c70d2e75b",
      "tree": "7cd0523311a25f653497197abc1fa86ed62bcc79",
      "parents": [
        "ea3f2e7be447a8f0c4436869620f908de5e8ef1e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 10 22:11:16 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 10 22:11:16 2016 +0200"
      },
      "message": "patch 7.4.2024\nProblem:    More buf_valid() calls can be optimized.\nSolution:   Use bufref_valid() instead.\n"
    },
    {
      "commit": "22081f4a3397704645841121d994058abd6cb481",
      "tree": "1389d9b8dd7ae7473720d2aa05857dfcecdbd0f2",
      "parents": [
        "9b0ac229bcfc91acabd35fc576055a94c1687c32"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 01 20:38:34 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 01 20:38:34 2016 +0200"
      },
      "message": "patch 7.4.1864\nProblem:    Python: encoding error with Python 2.\nSolution:   Use \"getcwdu\" instead of \"getcwd\". (Ken Takata)\n"
    },
    {
      "commit": "2177f9fe18a927ef65ccebb0856722a28dc00252",
      "tree": "c75dc489980efd00171f826a8c62e1b92b1fe9c5",
      "parents": [
        "03e19a04ac2ca55643663b97b6ab94043233dcbd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 25 20:39:09 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 25 20:39:09 2016 +0200"
      },
      "message": "patch 7.4.1843\nProblem:    Tests involving Python are flaky.\nSolution:   Set the pt_auto field.  Add tests. (Nikolai Pavlov)\n"
    },
    {
      "commit": "6d4431e7b675ba7a0194c0b8eb84b7d92e4e7953",
      "tree": "ff1a1467afecfc2a5a630e20cf3b0756834519f3",
      "parents": [
        "d106e5ba7f10f0d2a14eaefe5d78405044416cb9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 21 20:00:56 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 21 20:00:56 2016 +0200"
      },
      "message": "patch 7.4.1769\nProblem:    No \"closed\", \"errors\" and \"encoding\" attribute on Python output.\nSolution:   Add attributes and more tests. (Roland Puntaier, closes #622)\n"
    },
    {
      "commit": "fe4b18640656ddea41f60cf7a76956c9cc5494d6",
      "tree": "ed50f3f84c7d872656715b5da79fadb7f8b38a93",
      "parents": [
        "95509e18f8806046eeee27482c77666bbec515da"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 15 21:47:54 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 15 21:47:54 2016 +0200"
      },
      "message": "patch 7.4.1747\nProblem:    Coverity: missing check for NULL pointer.\nSolution:   Check for out of memory.\n"
    },
    {
      "commit": "66210042892389d36e3d37203ec77f61467bfb1c",
      "tree": "6fae45292e7d8cb3b9bdd898f92f79045803743d",
      "parents": [
        "75be2339d877bbd38df91c0181e1e0e388852df6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 15 20:40:41 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 15 20:40:41 2016 +0200"
      },
      "message": "patch 7.4.1744\nProblem:    Python: Converting a sequence may leak memory.\nSolution:   Decrement a reference. (Nikolay Pavlov)\n"
    },
    {
      "commit": "75be2339d877bbd38df91c0181e1e0e388852df6",
      "tree": "6344027b0e227c0183fbd9218ed99c8518d969eb",
      "parents": [
        "5d18e0eca59ffbba22c7f7c91c9f99d672095728"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 14 23:10:40 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 14 23:10:40 2016 +0200"
      },
      "message": "patch 7.4.1743\nProblem:    Clang warns for uninitialzed variable. (Michael Jarvis)\nSolution:   Initialize it.\n"
    },
    {
      "commit": "baa9fcaf4042a6dbe01e64ce63cb54941ee00f09",
      "tree": "8bed805ec7106158b08c91b1a3f05f2106218d4c",
      "parents": [
        "451f849fd6282a4facd4f0f58af62837443fb5a6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 14 17:40:56 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 14 17:40:56 2016 +0200"
      },
      "message": "patch 7.4.1736\nProblem:    Unused variable.\nSolution:   Remove it. (Yasuhiro Matsumoto)\n"
    },
    {
      "commit": "8110a091bc749d8748a20807a724a3af3ca6d509",
      "tree": "87a81daf5175f9c892e6eca0e36f64a6400a1cb6",
      "parents": [
        "58de0e2dcc1f2d251b74892a06d71a14973f3187"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 14 15:56:09 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 14 15:56:09 2016 +0200"
      },
      "message": "patch 7.4.1731\nProblem:    Python: turns partial into simple funcref.\nSolution:   Use partials like partials. (Nikolai Pavlov, closes #734)\n"
    },
    {
      "commit": "4c90861e9f864eab94f043c432acff508396ed62",
      "tree": "3dd833ecd38ad0b11bacb07d250469e439c2249f",
      "parents": [
        "c5fbe8af4cd80789f831b78aa44ff0b238138769"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 24 21:58:12 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 24 21:58:12 2016 +0100"
      },
      "message": "patch 7.4.1646\nProblem:    Using Python vim.bindeval() on a partial doesn\u0027t work. (Nikolai\n            Pavlov)\nSolution:   Add VAR_PARTIAL support in Python.\n"
    },
    {
      "commit": "44a2f923c00f1384c9ecde12fb5b4711bc20702e",
      "tree": "ff48a0f263f488b023e5b4c7d45af05dade92e8f",
      "parents": [
        "cc6cf9b9f9045a7d8b5923ea0c556e9a4c2567d3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 19 22:11:51 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 19 22:11:51 2016 +0100"
      },
      "message": "patch 7.4.1611\nProblem:    The versplit feature makes the code uneccessary complicated.\nSolution:   Remove FEAT_VERTSPLIT, always support vertical splits when\n            FEAT_WINDOWS is defined.\n"
    },
    {
      "commit": "1735bc988c546cc962c5f94792815b4d7cb79710",
      "tree": "5d1fcc3e5d0f0d37fa33097c2eacff4cbc2317d4",
      "parents": [
        "9cdf86b86f5fdb5a45b682f336846f9d9a9c6f1f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 14 23:05:14 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 14 23:05:14 2016 +0100"
      },
      "message": "patch 7.4.1559\nProblem:    Passing cookie to a callback is clumsy.\nSolution:   Change function() to take arguments and return a partial.\n"
    },
    {
      "commit": "7f8989dd8a627af2185df381195351a913f3777f",
      "tree": "43e30468ff036d93a02f06a0ab4186f96013adc1",
      "parents": [
        "6bef5306e4f2cacb3a93667992c2312d4b293c9d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 22:11:39 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 22:11:39 2016 +0100"
      },
      "message": "patch 7.4.1552\nProblem:    \":colorscheme\" does not use \u0027packpath\u0027.\nSolution:   Also use in \"start\" and \"opt\" directories in \u0027packpath\u0027.\n"
    },
    {
      "commit": "81e7a9c3fb37cad46c8f04a5ce871fb06819a371",
      "tree": "137d60842f9637b69037c043e9e5f6e6215d3402",
      "parents": [
        "4f8b8faec31a934920a723053e8dcf47b6fac08c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 06 19:57:20 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 06 19:57:20 2016 +0100"
      },
      "message": "patch 7.4.1270\nProblem:    Warnings for missing values in switch.\nSolution:   Change switch to if-else or add values.\n"
    },
    {
      "commit": "520e1e41f35b063ede63b41738c82d6636e78c34",
      "tree": "4c6a94e4e8f3f2047b91886077d4ecb916b30401",
      "parents": [
        "6920c72d4d62c8dc5596e9f392e38204f561d7af"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 23 19:46:28 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 23 19:46:28 2016 +0100"
      },
      "message": "patch 7.4.1154\nProblem:    No support for JSON.\nSolution:   Add jsonencode() and jsondecode().  Also add v:false, v:true,\n            v:null and v:none.\n"
    },
    {
      "commit": "77324fc9d3206a12f5ae39da1574be3ee1273591",
      "tree": "aca0c1818fb8f4869a3bd81e02c11132c00ca77f",
      "parents": [
        "85084ef1e999dcf50e8d466106a33bac24a0febb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 17 22:37:03 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 17 22:37:03 2016 +0100"
      },
      "message": "patch 7.4.1129\nProblem:    Python None value can\u0027t be converted to a Vim value.\nSolution:   Just use zero. (Damien)\n"
    },
    {
      "commit": "e7427f4b7e1af6a63600183be6b4c5724beb2f66",
      "tree": "49015b7e639b94b79255f140cb4de5bec5ba5de0",
      "parents": [
        "de59ba33aa3b94f2757dbf3451682d762c15ebcf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 10 13:24:20 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 10 13:24:20 2015 +0100"
      },
      "message": "patch 7.4.910\nProblem:    Compiler complains about type punned pointer.\nSolution:   Use another way to increment the ref count.\n"
    },
    {
      "commit": "d424747d5821c2873e24d25d3407d08b25ea3443",
      "tree": "6e1cfec1e8cb740f95dde8097cb58d3684c3d3c7",
      "parents": [
        "6407b3e80d7d7f8f0797c13ae35cc06f96be46c9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 02 13:28:59 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 02 13:28:59 2015 +0100"
      },
      "message": "patch 7.4.905\nProblem:    Python interface can produce error \"vim.message\u0027 object has no\n            attribute \u0027isatty\u0027\".\nSolution:   Add dummy isatty(), readable(), etc. (closes #464)\n"
    },
    {
      "commit": "24a6ff88bc8710c305deba405d00061dec909125",
      "tree": "f9794ab4ff4de7281d78a48c864d64893fcbe325",
      "parents": [
        "9abd5c6507154eabdfe8256940a24f090db0f533"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 10 18:41:58 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 10 18:41:58 2015 +0100"
      },
      "message": "updated for version 7.4.625\nProblem:    Possible NULL pointer dereference.\nSolution:   Check for NULL before using it. (Mike Williams)\n"
    },
    {
      "commit": "2459a5ecaa43c8549ea53e9364253ff891676da5",
      "tree": "b503323856e11d0e1e47e6c81875d32b1541ee04",
      "parents": [
        "4ac163ae5f137af236931e778660cf7878d70c25"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 03 12:55:18 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 03 12:55:18 2015 +0100"
      },
      "message": "updated for version 7.4.609\nProblem:    For complicated list and dict use the garbage collector can run\n            out of stack space.\nSolution:   Use a stack of dicts and lists to be marked, thus making it\n            iterative instead of recursive. (Ben Fritz)\n"
    },
    {
      "commit": "ae38d05271f9f25b6ad39b10e5f41d9656a7f1ab",
      "tree": "ff87fe9afb45b457ca3566337234ec12b26bd1f7",
      "parents": [
        "36ff08479f0398e09298f5742dcdfa0f8e070a32"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 17 14:46:09 2014 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 17 14:46:09 2014 +0100"
      },
      "message": "updated for version 7.4.556\nProblem:    Failed commands in Python interface not handled correctly.\nSolution:   Restore window and buffer on failure.\n"
    },
    {
      "commit": "d7408fa0ceb7bf414ca5c17f8ae3bc13131b7b15",
      "tree": "e6fb94ad6347f962aa49bb541f9e238cdbc24d7d",
      "parents": [
        "e4df164692fef1a3c94149e1e2af68d44d335bf9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 29 13:49:52 2014 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 29 13:49:52 2014 +0200"
      },
      "message": "updated for version 7.4.424\nProblem:    Get ml_get error when using Python to delete lines in a buffer\n            that is not in a window.  issue 248.\nSolution:   Do not try adjusting the cursor for a different buffer.\n"
    },
    {
      "commit": "3ec7f4e4025c5a78ccd312f8516ac0740aa65dfe",
      "tree": "70b0fdafe86015644955d6247ae167fe1aa2b982",
      "parents": [
        "0d3d5e0483ddad68d333284d988b4269674f71dd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 07 17:31:37 2014 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 07 17:31:37 2014 +0200"
      },
      "message": "updated for version 7.4.278\nProblem:    list_remove() conflicts with function defined in Sun header file.\nSolution:   Rename the function. (Richard Palo)\n"
    },
    {
      "commit": "922a4664fe51662a24097b8e74e5f716beef12f4",
      "tree": "50014c90eafda31e97acc98fe6e750570f70c391",
      "parents": [
        "498af70e066c66b66f1737b553287c1339846842"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 30 16:11:43 2014 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 30 16:11:43 2014 +0200"
      },
      "message": "updated for version 7.4.228\nProblem:    Compiler warnings when building with Python 3.2.\nSolution:   Make type cast depend on Python version. (Ken Takata)\n"
    }
  ],
  "next": "4de6a212f922aa132e9a76d0392bee3adfee6e29"
}
