)]}'
{
  "log": [
    {
      "commit": "ebfec1c531f32d424bb2aca6e7391ef3bfcbfe20",
      "tree": "d017ab5fcc15f2eef851de089c3b2aef39d7a387",
      "parents": [
        "3d79f0a4309995956bd8889940cca22f7a15881d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 22 21:14:53 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 22 21:14:53 2023 +0000"
      },
      "message": "patch 9.0.1234: the code style has to be checked manually\n\nProblem:    The code style has to be checked manually.\nSolution:   Add basic code style checks in a test.  Fix or avoid uncovered\n            problems.\n"
    },
    {
      "commit": "0233bdfa2b487c392dc4fd1a29113e08fbace334",
      "tree": "83551e09979e7baa762cd11a65ddff2153883e4e",
      "parents": [
        "043d7b2c84cda275354aa023b5769660ea70a168"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Jan 12 12:33:30 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 12 12:33:30 2023 +0000"
      },
      "message": "patch 9.0.1183: code is indented more than necessary\n\nProblem:    Code is indented more than necessary.\nSolution:   Use an early return where it makes sense. (Yegappan Lakshmanan,\n            closes #11805)\n"
    },
    {
      "commit": "a7fbaa43b7dbea55b2a48093f68abf819bc71682",
      "tree": "68423dbac3d0add21b987768d9ff1500a250f334",
      "parents": [
        "b536540ab3c13db629432c411e92c05c4a3808ba"
      ],
      "author": {
        "name": "K.Takata",
        "email": "kentkt@csc.jp",
        "time": "Mon Dec 26 14:46:51 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 26 14:46:51 2022 +0000"
      },
      "message": "patch 9.0.1102: complicated use of #ifdef\n\nProblem:    Complicated use of #ifdef.\nSolution:   Simplify #ifdef use. (Ken Takata, closes #11745)\n"
    },
    {
      "commit": "161b6ac04f257ab17779e9ba6f5b3e3e15d2a0fd",
      "tree": "f2d7046311159ccfdc94f337addac087d92478bf",
      "parents": [
        "dcbdd82d059a9b621e09f4447446a92ae2562e16"
      ],
      "author": {
        "name": "K.Takata",
        "email": "kentkt@csc.jp",
        "time": "Mon Nov 14 15:31:07 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 14 15:31:07 2022 +0000"
      },
      "message": "patch 9.0.0880: preprocessor indenting is off\n\nProblem:    Preprocessor indenting is off.\nSolution:   Adjust preprocessor indentation. (Ken Takata, closes #11546)\n"
    },
    {
      "commit": "5a5f17f9b3fa14c36a7d6c96ac55acaddb6247e1",
      "tree": "c546eb721dcd455db3840940107e866df456bf3a",
      "parents": [
        "6c3d3e69047438ff5b7f58d44fe66af9e2c4212b"
      ],
      "author": {
        "name": "Philip H",
        "email": "47042125+pheiduck@users.noreply.github.com",
        "time": "Sat Nov 05 14:05:31 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 05 14:05:31 2022 +0000"
      },
      "message": "patch 9.0.0832: deprecation warning causes build failure\n\nProblem:    Deprecation warning causes build failure.\nSolution:   Suppress deprecation warning. (closes #11503)\n"
    },
    {
      "commit": "6c3d3e69047438ff5b7f58d44fe66af9e2c4212b",
      "tree": "e683dc534c13d86fc8103fc85e8df7df4d1e6147",
      "parents": [
        "5375205761b5ed247f992abce341cf745dded38d"
      ],
      "author": {
        "name": "ichizok",
        "email": "gclient.gaap@gmail.com",
        "time": "Fri Nov 04 22:38:11 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Nov 04 22:38:11 2022 +0000"
      },
      "message": "patch 9.0.0831: compiler warning for redefining HAVE_DUP\n\nProblem:    Compiler warning for redefining HAVE_DUP.\nSolution:   Undefine HAVE_DUP if needed. (Ozaki Kiichi, closes #11484)\n"
    },
    {
      "commit": "fee511c1d39ecd155e27545cf70aeaa99d31b215",
      "tree": "55af7607448423902d5dd89ad0d478c82eb95504",
      "parents": [
        "1ae8c262df7083dfb4b41485508951c50eccc84c"
      ],
      "author": {
        "name": "Zdenek Dohnal",
        "email": "zdohnal@redhat.com",
        "time": "Mon Jun 27 13:59:00 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 27 13:59:00 2022 +0100"
      },
      "message": "patch 8.2.5168: cannot build with Python 3.11\n\nProblem:    Cannot build with Python 3.11.\nSolution:   Adjust define for _PyObject_TypeCheck. (Zdenek Dohnal,\n            closes #10627)\n"
    },
    {
      "commit": "63ff72aab91679725077eab5c5405267792268bd",
      "tree": "bdf2dba219e7c49b3504e957d5576bd9462b5950",
      "parents": [
        "b247e0622ef16b7819f5dadefd3e3f0a803b4021"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 07 13:54:01 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 07 13:54:01 2022 +0000"
      },
      "message": "patch 8.2.4317: MS-Windows: Vim exits when Python 3 initialisation fails\n\nProblem:    MS-Windows: Vim exits when Python 3 initialisation fails.\nSolution:   Hook into the exit() function to recover from the failure.\n            (Ken Takata, closes #9710)\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": "460ae5dfca31fa627531c263184849976755cf6b",
      "tree": "d94de6a24285bc10fd62ad4ae9aecb53f9a7e913",
      "parents": [
        "b37a65e4bf08c4eec4fa5b81a5efc3945fca44de"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 14:19:49 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 14:19:49 2022 +0000"
      },
      "message": "patch 8.2.3967: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "af4a61a85d6e8cacc35324f266934bc463a21673",
      "tree": "3b2e75b8a36bc8e79d2bc407d929a84b69fd0e0c",
      "parents": [
        "5da36052a4bb0f3a9747ec3a8ab9d85e058e39fa"
      ],
      "author": {
        "name": "Dominique Pelle",
        "email": "dominique.pelle@gmail.com",
        "time": "Mon Dec 27 17:21:41 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 27 17:21:41 2021 +0000"
      },
      "message": "patch 8.2.3914: various spelling mistakes in comments\n\nProblem:    Various spelling mistakes in comments.\nSolution:   Fix the mistakes. (Dominique Pellé, closes #9416)\n"
    },
    {
      "commit": "1a3e5747b7df7ddda312bbfd18e04fc2122001fb",
      "tree": "df3916d14b86db869aa32ce5a032e4d7dc09f0fa",
      "parents": [
        "5a234eb18e6e43408755bb24e813330306c11629"
      ],
      "author": {
        "name": "Martin Tournoij",
        "email": "martin@arp242.net",
        "time": "Sat Jul 24 13:57:29 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 24 13:57:29 2021 +0200"
      },
      "message": "patch 8.2.3208: dynamic library load error does not mention why it failed\n\nProblem:    Dynamic library load error does not mention why it failed.\nSolution:   Add the error message. (Martin Tournoij, closes #8621)\n"
    },
    {
      "commit": "90478f35a8c78e2e10a4b4a8f135998dc04c91fa",
      "tree": "a0029e80520ea90fcdaff3b75361d535a9f0a52e",
      "parents": [
        "2d6d718dde7163c971d37b8f4f1ed8f2d25de130"
      ],
      "author": {
        "name": "Zdenek Dohnal",
        "email": "zdohnal@redhat.com",
        "time": "Mon Jun 14 15:08:30 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 14 15:08:30 2021 +0200"
      },
      "message": "patch 8.2.2995: linker errors with dynamic Python 3.10\n\nProblem:    Linker errors with dynamic Python 3.10.\nSolution:   Add a couple of library entries. (Zdenek Dohnal, closes #8381,\n            closes #8356)\n"
    },
    {
      "commit": "b2f9e0e2c537bcde16dab3b62687a17e17849ce1",
      "tree": "e4801bdb4252443a817156b771d23dbd7ae0a765",
      "parents": [
        "3868f59466ed5ff1c5624f40b93c0034ce62cb82"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 25 13:52:37 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 25 13:52:37 2020 +0100"
      },
      "message": "patch 8.2.2211: MS-Windows: can\u0027t load Python dll if not in the path\n\nProblem:    MS-Windows: can\u0027t load Python dll if not in the path.\nSolution:   Use the InstallPath registry entry. (Kelvin Lee, closes #7540)\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": "c6ed254d9fda0ff54cdedce5597ff3e0d0218d18",
      "tree": "b57574dea129dce570dc8c9806639801d9400deb",
      "parents": [
        "bd6428b9e79ed85b54ea7eaa11871fa09d63ab6f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 10 23:26:28 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 10 23:26:28 2020 +0200"
      },
      "message": "patch 8.2.1830: MS-Windows: Python3 issue with stdin\n\nProblem:    MS-Windows: Python3 issue with stdin.\nSolution:   Check if stdin is readable. (Ken Takata, closes #7106)\n"
    },
    {
      "commit": "253b16a4abdad1df350b9ddd9a709520b063934c",
      "tree": "d25ce3c76cc4f33e8b69da98d739a3931f8747b8",
      "parents": [
        "80361a5f2b134c88597d60b3d363b52084e712a1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 06 19:59:06 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 06 19:59:06 2020 +0200"
      },
      "message": "patch 8.2.1806: MS-Windows with Python: Vim freezes after import command\n\nProblem:    MS-Windows with Python: Vim freezes after import command.\nSolution:   Use either \"NUL\" or \"CONIN$\" when reopening stdin. (Yasuhiro\n            Matsumoto, closes #7083)\n"
    },
    {
      "commit": "794771cfd83af2a0d1926bed301e784447e7290b",
      "tree": "972c890d396196ebda05d8b2a52bfc0c18fc440e",
      "parents": [
        "c1f0066b642fb62e37b300033223ff3ee4aafcd6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 03 13:57:13 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 03 13:57:13 2020 +0200"
      },
      "message": "patch 8.2.1790: MS-Windows with Python: crash when executed from Vifm\n\nProblem:    MS-Windows with Python: crash when executed from Vifm.\nSolution:   Use NUL instead of CONIN. (Ken Takata, closes #7061, closes #7053)\n"
    },
    {
      "commit": "56b8dc331dc7f499c8221ed7d1c7795ad5e3bdeb",
      "tree": "4616d00af44448ab701d07504c24d14c1190ae75",
      "parents": [
        "3d945cc925dddb99a1ee86ec194b5b95221c72d7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 06 21:47:11 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 06 21:47:11 2020 +0200"
      },
      "message": "patch 8.2.1381: MS-Windows: crash with Python 3.5 when stdin is redirected\n\nProblem:    MS-Windows: crash with Python 3.5 when stdin is redirected.\nSolution:   Reconnect stdin. (Yasuhiro Matsumoto, Ken Takata, closes #6641)\n"
    },
    {
      "commit": "ee1b93169d21896e5401a54a5189c9465abb7bc9",
      "tree": "4538e96a896599451f5c8d66aedaea231f23901d",
      "parents": [
        "a90afb9a590c92d537faeb16f9ccd282fc78aeff"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 16 22:15:53 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 16 22:15:53 2020 +0200"
      },
      "message": "patch 8.2.1225: linker errors when building with dynamic Python 3.9\n\nProblem:    Linker errors when building with dynamic Python 3.9.\nSolution:   Add #defined items. (closes #6461)\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": "2027973b5be693577bea0731b50ea4904d19ea8b",
      "tree": "9d1be9f140c9ba2e03bac242fb52ee99288a6313",
      "parents": [
        "5908fdf72fa1995735e38c46f254ddde81a87c1f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 29 20:51:07 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 29 20:51:07 2020 +0200"
      },
      "message": "patch 8.2.0479: unloading shared libraries on exit has no purpose\n\nProblem:    Unloading shared libraries on exit has no purpose.\nSolution:   Do not unload shared libraries on exit.\n"
    },
    {
      "commit": "a65bb53514a1af1ec0dc5c4831dfaef69f139a48",
      "tree": "c06212eb25eddc0c30a77516287dc798471599cd",
      "parents": [
        "d0df1aacd81000d95815bea397257d8dc0d2c72d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 04 22:06:07 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 04 22:06:07 2020 +0100"
      },
      "message": "patch 8.2.0354: Python 3.9 does not define _Py_DEC_REFTOTAL\n\nProblem:    Python 3.9 does not define _Py_DEC_REFTOTAL. (Zdenek Dohnal)\nSolution:   Remove it, it was only for debugging.\n"
    },
    {
      "commit": "d672dde584effd55702ee15efec4cb2a8c77bf85",
      "tree": "742fb3cd5f535e1571827c81060572ce735ef96d",
      "parents": [
        "bc93cebb692f47488d66f078d1728031e9be35e7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 26 13:43:51 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 26 13:43:51 2020 +0100"
      },
      "message": "patch 8.2.0319: file missing in distribution, comments outdated\n\nProblem:    File missing in distribution, comments outdated.\nSolution:   Correct path of README file.  Update comments.\n"
    },
    {
      "commit": "2ab2e8608f9b2c85432715bb9a7f226fdbf8cd35",
      "tree": "0a361d816527e615a7b64298e7c51c16d65fb015",
      "parents": [
        "9834b96820bec95d6858229d6fb256310365efff"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 04 21:24:53 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 04 21:24:53 2019 +0100"
      },
      "message": "patch 8.1.2387: using old C style comments\n\nProblem:    Using old C style comments.\nSolution:   Use // comments where appropriate.\n"
    },
    {
      "commit": "13a1f3fb0c9d08bba6109fe2131c9524e6ba7e15",
      "tree": "45401da9d6cbf88c27af9c56dcaa53f6b2388b3f",
      "parents": [
        "1cac70953d3c012453ea85b1308a8b1f94359c26"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 23 21:37:25 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 23 21:37:25 2019 +0200"
      },
      "message": "patch 8.1.2201: cannot build with dynamically linked Python 3.8\n\nProblem:    Cannot build with dynamically linked Python 3.8.\nSolution:   Implement py3__Py_DECREF() and py3__Py_XDECREF(). (Ken Takata,\n            closes #4080)\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": "964b3746b9c81e65887e2ac9a335f181db2bb592",
      "tree": "9afaaac41a1c4f71b359fd6706b88df00e22e7a1",
      "parents": [
        "d33a764123a8aedb20cd84aeff3b94810ee67c4c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 18:54:09 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 18:54:09 2019 +0200"
      },
      "message": "patch 8.1.1384: using \"int\" for alloc() often results in compiler warnings\n\nProblem:    Using \"int\" for alloc() often results in compiler warnings.\nSolution:   Use \"size_t\" and remove type casts.  Remove alloc_check(), Vim\n            only works with 32 bit ints anyway.\n"
    },
    {
      "commit": "abab0b0fdd6535969447b03a4fffc1947918cf6c",
      "tree": "2d43537a5dce8433ef2b2a37684c9e069392c592",
      "parents": [
        "bd9bf266fccbf7b7f09e476e09b61f0133e914db"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 30 18:47:01 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 30 18:47:01 2019 +0100"
      },
      "message": "patch 8.1.1086: too many curly braces\n\nProblem:    Too many curly braces.\nSolution:   Remove curly braces where they are not needed. (Hirohito Higashi,\n            closes #3982)\n"
    },
    {
      "commit": "8e9a24a127c4ef8833fdc3986623f96c7d04210f",
      "tree": "d1aee2626ace3749ccbac2766ee158037b43bf2a",
      "parents": [
        "828bff1f9b4847da79abd7a97ddc48687e257d6c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 19 22:22:55 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 19 22:22:55 2019 +0100"
      },
      "message": "patch 8.1.1021: pyeval() and py3eval() leak memory\n\nProblem:    pyeval() and py3eval() leak memory.\nSolution:   Do not increase the reference count twice. (Ozaki Kiichi,\n            closes #4129)\n"
    },
    {
      "commit": "828bff1f9b4847da79abd7a97ddc48687e257d6c",
      "tree": "286bad3361bbc1b956b0c4201ab448eba098b50e",
      "parents": [
        "4eefe47ea4b6bf958617e924f52bc7a409cfb0ed"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 19 22:11:41 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 19 22:11:41 2019 +0100"
      },
      "message": "patch 8.1.1020: compiler warning for Python3 interface\n\nProblem:    Compiler warning for Python3 interface.\nSolution:   Add type cast. (Ozaki Kiichi, closes #4128, closes #4103)\n"
    },
    {
      "commit": "14816ad6e58336773443f5ee2e4aa9e384af65d2",
      "tree": "f53327ad0ffed33997cf4bbe9ce4725cb2221980",
      "parents": [
        "0472b6d149445579e3a63519b15f099f9adda3f7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 18 22:04:56 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 18 22:04:56 2019 +0100"
      },
      "message": "patch 8.1.0950: using :python sets \u0027pyxversion\u0027 even when not executed\n\nProblem:    Using :python sets \u0027pyxversion\u0027 even when not executed.\nSolution:   Check the \"skip\" flag. (Shane Harper, closes #3995)\n"
    },
    {
      "commit": "4f97475d326c2773a78561fb874e4f23c25cbcd9",
      "tree": "7e066bc70556dfbb415ddb9f364e8432e8aaf189",
      "parents": [
        "78d21dae9c3a39efb30316d3e38dce120bc1abbd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 17 17:44:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 17 17:44:42 2019 +0100"
      },
      "message": "patch 8.1.0941: macros for MS-Windows are inconsistent\n\nProblem:    Macros for MS-Windows are inconsistent, using \"32\", \"3264 and\n            others.\nSolution:   Use MSWIN for all MS-Windows builds.  Use FEAT_GUI_MSWIN for the\n            GUI build. (Hirohito Higashi, closes #3932)\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": "6dff58f15cede9139b2fcfc64c9064326ea3d3b0",
      "tree": "f2326055f5fe8bb5948374155f11bd220c1d9dc7",
      "parents": [
        "f45d747ebf920940b041f5c75c2bfdffb6b670ae"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 30 21:43:26 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 30 21:43:26 2018 +0200"
      },
      "message": "patch 8.1.0443: unnecessary static function prototypes\n\nProblem:    Unnecessary static function prototypes.\nSolution:   Remove unnecessary prototypes.\n"
    },
    {
      "commit": "3b48b11c07b85520f4ca3566e92c3f6486509b72",
      "tree": "51c37e4be094f9b0666c9fa161b34d4d694d9580",
      "parents": [
        "f0447e89a52885630947510f2d1b55f665a1a20e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 04 22:03:25 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 04 22:03:25 2018 +0200"
      },
      "message": "patch 8.1.0147: compiler warning when building with Python 3.7\n\nProblem:    Compiler warning when building with Python 3.7.\nSolution:   #undef PySlice_GetIndicesEx before redefining it. (Ozaki Kiichi,\n            closes #3153)\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": "2e324950b83fcdf60843b54a6a339183370f338a",
      "tree": "c80a94cf7de8b07ad87c83d2188e83620df86cb0",
      "parents": [
        "78a16b0f2a142aae1fdc96c50ab0f25194d0e755"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 14 14:37:07 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 14 14:37:07 2018 +0200"
      },
      "message": "patch 8.0.1709: some non-C89 code may slip through\n\nProblem:    Some non-C89 code may slip through.\nSolution:   Enforce C89 in configure. Fix detected problems. (James McCoy,\n            closes #2735)\n"
    },
    {
      "commit": "7b24ce08fe99345cac035215fca29c7e174a6456",
      "tree": "9e4b16243f3c4eb9906a6e35950b8f14c994999a",
      "parents": [
        "1834d37396e046ccbc4aa2678ba16a38197da6b4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 29 18:15:26 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 29 18:15:26 2018 +0200"
      },
      "message": "patch 8.0.1654: warnings for conversion of void to function pointer\n\nProblem:    Warnings for conversion of void to function pointer.\nSolution:   Use a temp variable that is a function pointer.\n"
    },
    {
      "commit": "16d7eced1a08565a9837db8067c7b9db5ed68854",
      "tree": "a8f26d8d1bfe4d0d62442682ca394d6ca5e8614c",
      "parents": [
        "75b0a888e41bcda4163072f41bb7b5471fef7651"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 24 14:06:15 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 24 14:06:15 2018 +0100"
      },
      "message": "patch 8.0.1635: undefining _POSIX_THREADS causes problems with Python 3\n\nProblem:    Undefining _POSIX_THREADS causes problems with Python 3. (Micah\n            Bucy, closes #2748)\nSolution:   Remove the lines.\n"
    },
    {
      "commit": "94073167e3aa8cbe18380e93a2fc8e8165438cc8",
      "tree": "2e7c3078ffc53518b95979a118b16403699381ae",
      "parents": [
        "1dd45fb4f3371f0256653b2186c8b4b3d26b3f41"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 31 21:49:05 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 31 21:49:05 2018 +0100"
      },
      "message": "patch 8.0.1451: difficult to set the python home directories properly\n\nProblem:    It is difficult to set the python home directory properly for\n            Python 2.7 and 3.5 since both use $PYTHONHOME.\nSolution:   Add the \u0027pythonhome\u0027 and \u0027pythonthreehome\u0027 options. (Kazuki\n            Sakamoto, closes #1266)\n"
    },
    {
      "commit": "d057301b1f28736f094affa17b190244ad56e8d9",
      "tree": "ae20801354321a5ff0d7d23b04d8d6018c57645a",
      "parents": [
        "ef83956e1e67736b4c6b886d897b74f022622a74"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 28 21:11:06 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 28 21:11:06 2017 +0200"
      },
      "message": "patch 8.0.1236: Mac features are confusing\n\nProblem:    Mac features are confusing.\nSolution:   Make feature names more consistent, add \"osxdarwin\". Rename\n            feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)\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": "c4f833808af930505017c9389d44a828601e247c",
      "tree": "577f9425a910a666e2d6d8cad51a411460ec8cca",
      "parents": [
        "8858498516108432453526f07783f14c9196e112"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 07 14:50:44 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 07 14:50:44 2017 +0200"
      },
      "message": "patch 8.0.0698: crash on exit when using Python function in timer.\n\nProblem:    When a timer uses \":pyeval\" or another Python command and it\n            happens to be triggered while exiting a Crash may happen.\n            (Ricky Zhou)\nSolution:   Avoid running a Python command after python_end() was called.\n            Do not trigger timers while exiting.  (closes #1824)\n"
    },
    {
      "commit": "f42dd3c3901ea0ba38e67a616aea9953cae81b8d",
      "tree": "3626ca40161dbfaa5e72a4dbeaa46b24480ddc8c",
      "parents": [
        "0c0590d9827cb07a33c1552cb3558b94bddcb4dc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 28 16:06:38 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 28 16:06:38 2017 +0100"
      },
      "message": "patch 8.0.0251: not easy to select Python 2 or 3\n\nProblem:    It is not so easy to write a script that works with both Python 2\n            and Python 3, even when the Python code works with both.\nSolution:   Add \u0027pyxversion\u0027, :pyx, etc. (Marc Weber, Ken Takata)\n"
    },
    {
      "commit": "edf3f97ae2af024708ebb4ac614227327033ca47",
      "tree": "82fed9ebfc85a69d3cff613f9dab11c8750fad8b",
      "parents": [
        "965ed14973fd3f1b2aace7bae4d4722b71ca04f9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 22:49:24 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 22:49:24 2016 +0200"
      },
      "message": "patch 7.4.2293\nProblem:    Modelines in source code are inconsistant.\nSolution:   Use the same line in most files.  Add \u0027noet\u0027.  (Naruhiko Nishino)\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": "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": "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": "6aa2cd4be287f35f95f35c2cec6d5a24f53c4d3c",
      "tree": "d2277cebb1354524326ac1333b3bd47f7453c456",
      "parents": [
        "f8df7addc5f741c16fa2a458f8777ac1fdf2e01e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 16 15:06:59 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 16 15:06:59 2016 +0100"
      },
      "message": "patch 7.4.1334\nProblem:    Many compiler warnings with MingW.\nSolution:   Add type casts. (Yasuhiro Matsumoto)\n"
    },
    {
      "commit": "7707344ddec9069b495b2a5ed41f2104466fc88b",
      "tree": "9c6b21f811c7c38a89daf010c61453d7d6eaa8da",
      "parents": [
        "e516c39ee97cb85fa230fbb1b1f54ad1346920d9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 13 23:23:53 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 13 23:23:53 2016 +0100"
      },
      "message": "patch 7.4.1315\nProblem:    Using a channel handle does not allow for freeing it when unused.\nSolution:   Add the Channel variable type.\n"
    },
    {
      "commit": "eba6d8c66c3511a5e1bfe6ffa30c8bea47d129ad",
      "tree": "27d8583580f559176697b41838b9f7715b642fb0",
      "parents": [
        "595e64e259faefb330866852e1b9f6168544572a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 19:25:51 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 19:25:51 2016 +0100"
      },
      "message": "patch 7.4.1280\nProblem:    Missing case value.\nSolution:   Add VAR_JOB.\n"
    },
    {
      "commit": "1701481c53f4e6756038c9c00d51d491a8f42c65",
      "tree": "76b2d1c8bfb703e961555f0505b02c8ec5bc20bf",
      "parents": [
        "3712792637516aea7acf76a11533be1066952820"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 06 20:32:25 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 06 20:32:25 2016 +0100"
      },
      "message": "patch 7.4.1272\nProblem:    Using future enum value.\nSolution:   Remove it.\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": "68c2f638e65d914dc6e84eb7ce2624f08af525c0",
      "tree": "051b6b7500c6ac80c45cdeff26296c5b7acb88ff",
      "parents": [
        "66f948e928d5e0cd3123af902aa8ac1613534c94"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 17:24:07 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 17:24:07 2016 +0100"
      },
      "message": "patch 7.4.1208\nProblem:    Using old style function declarations.\nSolution:   Change to new style function declarations. (script by Hirohito\n            Higashi)\n"
    },
    {
      "commit": "92b8b2d307e34117f146319872010b0ccc9d2713",
      "tree": "14592978271f07a5bebd2e7001c2c1f2e7c3a60b",
      "parents": [
        "d25c16e2f2776d50245bf31d6e4d5364f12d188e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 29 22:36:45 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 29 22:36:45 2016 +0100"
      },
      "message": "patch 7.4.1198\nProblem:    Still using __ARGS.\nSolution:   Remove __ARGS in several files. (script by Hirohito Higashi)\n            Also remove use of HAVE_STDARG_H.\n"
    },
    {
      "commit": "25e4fcde767084d1a79e0926bc301c92987c0cce",
      "tree": "2e2196f2e782cd2bd143b8ed1187697774f4a3ad",
      "parents": [
        "7b877b360532713dc21a0ff3d55a76ac02eaf573"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 09 14:57:47 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 09 14:57:47 2016 +0100"
      },
      "message": "patch 7.4.1065\nProblem:    Cannot use the \"dll\" options on MS-Windows.\nSolution:   Support the options on all platforms.  Use the built-in name as\n            the default, so that it\u0027s clear what Vim is looking for.\n"
    },
    {
      "commit": "1000565c3a2439c9a7c9759284814dbf3b8bc20d",
      "tree": "357f2fbcb81da653f6786b30175f13e3882361b7",
      "parents": [
        "2bf2417612879de627dcea1dbb22ee2199b16963"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 31 21:03:23 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 31 21:03:23 2015 +0100"
      },
      "message": "patch 7.4.1012\nProblem:    Vim overwrites the value of $PYTHONHOME.\nSolution:   Do not set $PYTHONHOME if it is already set. (Kazuki Sakamoto,\n            closes #500)\n"
    },
    {
      "commit": "d94464ee294a351ce7b6ba18e8bd3f24f1bef920",
      "tree": "8c3e98bb5e0f82995a6ee8e7a0729a9ec788265c",
      "parents": [
        "8a52ba791893fd55c5bdf98825c5b3e8892eaa62"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 02 15:28:18 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 02 15:28:18 2015 +0100"
      },
      "message": "patch 7.4.907\nProblem:    Libraries for dynamically loading interfaces can only be defined\n            at compile time.\nSolution:   Add options to specify the dll names. (Kazuki Sakamoto,\n            closes #452)\n"
    },
    {
      "commit": "094454fa708d3297db744f095cd2b7b155a8b6ad",
      "tree": "2ea8a487dd2621214e1e7cb0a48f3bb3de9a9004",
      "parents": [
        "74b738d414b2895b3365e26ae3b7792eb82ccf47"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 07 10:39:55 2015 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 07 10:39:55 2015 +0200"
      },
      "message": "patch 7.4.890\nProblem:    Build failure when using dynamic python but not python3.\nSolution:   Adjust the #if to also include DYNAMIC_PYTHON3 and UNIX.\n"
    },
    {
      "commit": "b641df49655bb34762b44aa8c6e03e5f464f73d6",
      "tree": "b9800dc3fcfb2c4f7b24167937ad21bb8b1940d5",
      "parents": [
        "016154919e317a8ce2b7f2e33db2f39ca3a8edb9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 03 13:16:04 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 03 13:16:04 2015 +0100"
      },
      "message": "updated for version 7.4.611\nProblem:    Syntax error.\nSolution:   Change statement to return.\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": "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"
    },
    {
      "commit": "5395e7afe93d38793dcd6520b277ec0d3b1882ac",
      "tree": "fadf9ada5e4b1e29d938d8bf765ffcebcf292643",
      "parents": [
        "1028f4d75ee04261f1338620c22f388a05098bb0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 14 19:35:56 2014 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 14 19:35:56 2014 +0100"
      },
      "message": "updated for version 7.4.153\nProblem:    Compiler warning for pointer type.\nSolution:   Add type cast.\n"
    },
    {
      "commit": "063a46ba77c3251f0b5245e872dcbad003c71024",
      "tree": "e85d7ca1c040ef4ecbef8f7bbbf7d92fe4ce823c",
      "parents": [
        "14177b77bf7bb9c3f1c7c8805bc6cff1b651c136"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 14 16:36:51 2014 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 14 16:36:51 2014 +0100"
      },
      "message": "updated for version 7.4.151\nProblem:    Python: slices with steps are not supported.\nSolution:   Support slices in Python vim.List. (ZyX)\n"
    },
    {
      "commit": "0b400087d076ba1a476d753c019fbfd96d8ae58e",
      "tree": "0cc81dc7cdb88fdb263cefb6b1bad70c2138d41c",
      "parents": [
        "9db1293317abd1aca101bf2d35caef0354f66e8b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 03 00:28:25 2013 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 03 00:28:25 2013 +0100"
      },
      "message": "updated for version 7.4.060\nProblem:    Declaration has wrong return type for PyObject_SetAttrString().\nSolution:   Use int instead of PyObject. (Andreas Schwab)\n"
    },
    {
      "commit": "e032461eede2a80f184f1c08e22a76eaf18a480e",
      "tree": "b0ca53997ffe6a103c6986305ac6d8506e796689",
      "parents": [
        "b69510e889a1eb102bce83567a7b958d2f25b6ff"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 09 17:30:55 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 09 17:30:55 2013 +0200"
      },
      "message": "updated for version 7.4a.008\nProblem:    Python 3 doesn\u0027t handle multibyte characters prooperly when\n            \u0027encoding\u0027 is not utf-8.\nSolution:   Use PyUnicode_Decode() instead of PyUnicode_FromString(). (Ken\n            Takata)\n"
    },
    {
      "commit": "32ac8cdaaaa32c09b0818c214e01e8e557d88b56",
      "tree": "95d169cbeb3d98450e7991e210ef5be77412f61a",
      "parents": [
        "0f5a5ed8bb3c014ef9de0480852a3e5737c33fc6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 03 18:49:17 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 03 18:49:17 2013 +0200"
      },
      "message": "updated for version 7.3.1299\nProblem:    Errors when doing \"make proto\".  Didn\u0027t do \"make depend\" for a\n            while.\nSolution:   Add #ifdefs.  Update dependencies.  Update proto files.\n"
    },
    {
      "commit": "41009374747d68a12d043bcca0ae649d0c18daf4",
      "tree": "e05985bb9262965f6c4ea9a4ddde724be7b89084",
      "parents": [
        "c33916a6e06db94ea1a3dfd35eee32ca80787ec5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 01 22:03:04 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 01 22:03:04 2013 +0200"
      },
      "message": "updated for version 7.3.1287\nProblem:    Python SystemExit exception is not handled properly.\nSolution:   Catch the exception and give an error. (Yasuhiro Matsumoto, Ken\n            Takata)\n"
    },
    {
      "commit": "dee2e315d786cbe9d5bba2d388fb72d96ad1a846",
      "tree": "3a8548edebc6f07c6b08a3d2017dcb877f351bb4",
      "parents": [
        "ede3e6383d0bc86c13f039e9013ff72e307937d2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 16:35:47 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 16:35:47 2013 +0200"
      },
      "message": "updated for version 7.3.1236\nProblem:    Python: WindowSetattr() missing support for NUMBER_UNSIGNED.\nSolution:   Add NUMBER_UNSIGNED, add more tests. Various fixes. (ZyX)\n"
    },
    {
      "commit": "141be8a585145d2217fb425739ccc121aed4a8d4",
      "tree": "1fbdd6ad7db5cc23313f05d9ef8f4f1aaa0772f1",
      "parents": [
        "c476e52fcaf9e1ad779add6368e4f46b2c0d881c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 14:16:57 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 14:16:57 2013 +0200"
      },
      "message": "updated for version 7.3.1231\nProblem:    Python: use of numbers not consistent.\nSolution:   Add support for Number protocol. (ZyX)\n"
    },
    {
      "commit": "c476e52fcaf9e1ad779add6368e4f46b2c0d881c",
      "tree": "dc1d97fee9e56a07f4f1475ef938245a419c72ae",
      "parents": [
        "0bd80ccd853ddfa4cc2385b6ceb3b2610245a9ed"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 13:46:40 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 13:46:40 2013 +0200"
      },
      "message": "updated for version 7.3.1230\nProblem:    Python: Exception messages are not clear.\nSolution:   Make exception messages more verbose. (ZyX)\n"
    },
    {
      "commit": "0bd80ccd853ddfa4cc2385b6ceb3b2610245a9ed",
      "tree": "a1df58e6f24ee6e84b6fa024e8a4ea822697f995",
      "parents": [
        "808c2bc8bf435917b792e172a22dc5f8c0e7066a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 13:28:17 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 13:28:17 2013 +0200"
      },
      "message": "updated for version 7.3.1229\nProblem:    Python: not so easy to delete/restore translating.\nSolution:   Make macros do translation of exception messages. (ZyX)\n            Note: this breaks translations!\n"
    },
    {
      "commit": "808c2bc8bf435917b792e172a22dc5f8c0e7066a",
      "tree": "84a7b5846ce850af47f3bf8358818d46470e97d4",
      "parents": [
        "389a1793f40b149ed8553fb75e7ee40bc684d8c5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 13:11:18 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 23 13:11:18 2013 +0200"
      },
      "message": "updated for version 7.3.1228\nProblem:    Python: various inconsistencies and problems.\nSolution:   StringToLine now supports both bytes() and unicode() objects.\n            Make function names consistant.  Fix memory leak fixed in\n            StringToLine. (ZyX)\n"
    },
    {
      "commit": "5f87b23229b1d5cc5bad4a263e513e72a91fe8ae",
      "tree": "fff36f9d16eb79d5580016a9689097a3a574e679",
      "parents": [
        "b62bcd1e05a00bdacde11c52762cd48f6f0325f0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 13 20:57:50 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 13 20:57:50 2013 +0200"
      },
      "message": "updated for version 7.3.1186\nProblem:    Python 3: test 87 may crash.\nSolution:   Use _PyArg_Parse_SizeT instead of PyArg_Parse. (Jun Takimoto)\n"
    },
    {
      "commit": "81c40c507c69ab0c3aede3ee14a2ba76c20c4595",
      "tree": "21bb9f8a713de4a223ab7b581c90207a79cfdb97",
      "parents": [
        "27610ed76c500cf680fdbac000d269e30dcba54c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 12 14:41:04 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 12 14:41:04 2013 +0200"
      },
      "message": "updated for version 7.3.1174\nProblem:    Python 2 and 3 use different ways to load modules.\nSolution:   Use the same method. (ZyX)\n"
    },
    {
      "commit": "c09a6d6c0c9d0e9056816f518171864158c72076",
      "tree": "d40e772fb06ab3fc2fee71c87c0d84ba819ed3d2",
      "parents": [
        "f9c9b32bd124235136980749bee754cae99e164a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 10 21:27:29 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 10 21:27:29 2013 +0200"
      },
      "message": "updated for version 7.3.1163\nProblem:    Not easy to load Python modules.\nSolution:   Search \"python2\", \"python3\" and \"pythonx\" directories in\n            \u0027runtimepath\u0027 for Python modules. (ZyX)\n"
    },
    {
      "commit": "0bdda37fb4b8118ec4bd797eddca9eaf5d3b381d",
      "tree": "9037d905c68c34ad25a203757d62c20cee526b47",
      "parents": [
        "bcf4d178abef9336709b53516fbf0164ce5ebe09"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 10 18:36:24 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 10 18:36:24 2013 +0200"
      },
      "message": "updated for version 7.3.1158\nProblem:    Crash when running test 86. (Jun Takimoto)\nSolution:   Define PY_SSIZE_T_CLEAN early. (Elimar Riesebieter)\n"
    },
    {
      "commit": "f4258308e288c82c30d35cb2d0e045e60bfdb21c",
      "tree": "ae6e0e2a854864471d8d6478b53f8fa0e14ea556",
      "parents": [
        "4f2109d782f91f7341a51644e3629ad1cbaea991"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 02 18:20:17 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 02 18:20:17 2013 +0200"
      },
      "message": "updated for version 7.3.1099\nProblem:    Python: Changing directory with os.chdir() causes problems for\n            Vim\u0027s notion of directories.\nSolution:   Add vim.chdir() and vim.fchdir(). (ZyX)\n"
    },
    {
      "commit": "bcb40977c3e71461f52ef5201cf55c5d427fc738",
      "tree": "d0289b4b72bb90b50574c8adda059e3f38d3e23b",
      "parents": [
        "494ff7e85033e233620ba7fec42156745758f5dc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 30 13:22:13 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 30 13:22:13 2013 +0200"
      },
      "message": "updated for version 7.3.1065\nProblem:    Python: key mapping is not standard.\nSolution:   Puthon patch 24: use PyMapping_Keys. (ZyX)\n"
    },
    {
      "commit": "a9922d62e60142f1cb9889626e82e8cc7126be1a",
      "tree": "6d2281fef42af5d2e2351d8eb8166445478930c4",
      "parents": [
        "a5b725c3f67f1c98d99fec71a3cbaad502a02291"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 30 13:01:18 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 30 13:01:18 2013 +0200"
      },
      "message": "updated for version 7.3.1061\nProblem:    Python: Dictionary is not standard.\nSolution:   Python patch 20: Add standard methods and fields. (ZyX)\n"
    },
    {
      "commit": "1a3b56953e22f9e50d34c50edb5c24292741eb3d",
      "tree": "087d4952781c37f686e0a0586b327c71260af5f9",
      "parents": [
        "a1544c00c8ace9b74714b609b5079ae61faa20b5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 30 12:40:39 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 30 12:40:39 2013 +0200"
      },
      "message": "updated for version 7.3.1059\nProblem:    Python: Using fixed size buffers.\nSolution:   Python patch 18: Use python\u0027s own formatter. (ZyX)\n"
    },
    {
      "commit": "dd8aca664d9768614d18cebec84badc3ecad3af5",
      "tree": "6002f0821e725f7829f73bc05336f4fc4ca376a3",
      "parents": [
        "432b09c84dc6daf0b7ca8dac986bc0b1faf899d7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 29 22:36:10 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 29 22:36:10 2013 +0200"
      },
      "message": "updated for version 7.3.1047\nProblem:    Python: dir() does not work properly.\nSolution:   Python patch 8.  Add __dir__ method to all objects with custom\n            tp_getattr supplemented by __members__ attribute for at least\n            python-2* versions.  __members__ is not mentioned in python-3*\n            dir() output even if it is accessible. (ZyX)\n"
    },
    {
      "commit": "9e822c00b1fdf3e0604dbb520f593d8de6c15098",
      "tree": "2bfb2b78ea873331cc74f1d32183114b391c9aaf",
      "parents": [
        "3e734ea2c7d6bc78cf5d2851c1e4ddbad2e028d1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 29 22:15:30 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 29 22:15:30 2013 +0200"
      },
      "message": "updated for version 7.3.1044\nProblem:    Python: No {Buffer,TabPage,Window}.valid attributes.\nSolution:   Python patch 5: add .valid (ZyX)\n"
    },
    {
      "commit": "e9ba516be2873b80e51aa24cd6c25f9b29612695",
      "tree": "620ac235a6fe7dab512cfc871b7e63ba99bba761",
      "parents": [
        "1bc2428e1f7782870ae9e304f0db2388fe4a5a14"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 29 22:02:22 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 29 22:02:22 2013 +0200"
      },
      "message": "updated for version 7.3.1042\nProblem:    Python: can\u0027t assign to vim.Buffer.name.\nSolution:   Python patch 3. (ZyX)\n"
    },
    {
      "commit": "0014a53ad18c7e8aeeb33b6e68c120fdbcead177",
      "tree": "cd751064f92a4cdfae273b26056a547889dec616",
      "parents": [
        "423532e10d7335750afbace57ba65c0b6f138756"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 29 21:33:39 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 29 21:33:39 2013 +0200"
      },
      "message": "updated for version 7.3.1040\nProblem:    Python: Problems with debugging dynamic build.\nSolution:   Python patch 1. (ZyX)\n"
    },
    {
      "commit": "2a0f3d3fb2a7e26d47810098894f8e615571afe3",
      "tree": "e402ca98134661b2a3f133083adf18bdc66151b6",
      "parents": [
        "0b9aecc3a5020a3f3714bf4e58046321b46632fb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 22:23:56 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 22:23:56 2013 +0200"
      },
      "message": "updated for version 7.3.1003\nProblem:    Python interface does not compile with Python 2.2\nSolution:   Fix thread issues and True/False. (ZyX)\n"
    },
    {
      "commit": "774267bbb9ac66c89e6e1781c19730a58c772752",
      "tree": "b284bdfe40281a035956ac88f732e7976714da8d",
      "parents": [
        "a7b64ce74e857d4516b87ca80c850e5ef6324ba6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 20:51:59 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 20:51:59 2013 +0200"
      },
      "message": "updated for version 7.3.998\nProblem:    Python: garbage collection issues.\nSolution:   Fix the GC issues: Use proper DESTRUCTOR_FINISH: avoids negative\n            refcounts, use PyObject_GC_* for objects with tp_traverse and\n            tp_clear, add RangeTraverse and RangeClear, use Py_XDECREF in some\n            places. (ZyX)\n"
    },
    {
      "commit": "1dc28783fa3f5946238b4c8020aea460db80269b",
      "tree": "c3243d73c10b228f11915f20951046bfc9d4dda4",
      "parents": [
        "182dc4f2abe6ae6fd20a6c089c3adf45c8b1334d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 19:11:01 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 19:11:01 2013 +0200"
      },
      "message": "updated for version 7.3.995\nProblem:    Python: Module initialization is duplicated.\nSolution:   Move to shared file. (ZyX)\n"
    },
    {
      "commit": "182dc4f2abe6ae6fd20a6c089c3adf45c8b1334d",
      "tree": "239bb2494ef19b5ec4ca813320ab733e52dbb9b6",
      "parents": [
        "e64faa6645377b958e7e5f6a273521063312792c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 19:01:55 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 19:01:55 2013 +0200"
      },
      "message": "updated for version 7.3.994\nProblem:    Python: using magic constants.\nSolution:   Use descriptive values for ml_flags. (ZyX)\n"
    },
    {
      "commit": "e64faa6645377b958e7e5f6a273521063312792c",
      "tree": "65e5266ace385bc1a38a5dfdffbb48f6824b9927",
      "parents": [
        "d6e391862c58d7c7494b8c4cc65a4b745d7eafe1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 18:47:21 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 18:47:21 2013 +0200"
      },
      "message": "updated for version 7.3.993\nProblem:    Python: Later patch does things slightly differently.\nSolution:   Adjusted argument type changes. (ZyX)\n"
    },
    {
      "commit": "d6e391862c58d7c7494b8c4cc65a4b745d7eafe1",
      "tree": "119591b06dd9f58ab03dee643459635649440202",
      "parents": [
        "b52f4c02e63a76b933b48026687b322ee2353f11"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 18:30:34 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 18:30:34 2013 +0200"
      },
      "message": "updated for version 7.3.992\nProblem:    Python: Too many type casts.\nSolution:   Change argument types. (ZyX)\n"
    },
    {
      "commit": "b52f4c02e63a76b933b48026687b322ee2353f11",
      "tree": "ab489346c0966c67e62ca6176e0edc6d588202db",
      "parents": [
        "b09d983c78b27362a662ea9ce40e9092d5678bd0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 18:19:38 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 21 18:19:38 2013 +0200"
      },
      "message": "updated for version 7.3.991\nProblem:    More can be shared by Python 2 and 3.\nSolution:   Move more stuff to if_py_both. (ZyX)\n"
    },
    {
      "commit": "d620aa9be4d574627c020dedd39313f8482ab216",
      "tree": "624b63e85141e01e5ac4c3b200a842f4719e6d6e",
      "parents": [
        "cfef5ff23ea09b17203d9f466f6f3526c76a8b99"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 16:40:06 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 16:40:06 2013 +0200"
      },
      "message": "updated for version 7.3.966\nProblem:    There is \":py3do\" but no \":pydo\".\nSolution:   Add the \":pydo\" command. (Lilydjwg)\n"
    },
    {
      "commit": "cabf80ff2f20ff6e7da237daf8c2a0cc358592eb",
      "tree": "55c18c253da96281fc7a8612e349094facb300b8",
      "parents": [
        "105bc355a6713b5c09b52776bf8f92a15a81f49c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 16:18:33 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 16:18:33 2013 +0200"
      },
      "message": "updated for version 7.3.964\nProblem:    Python: not so easy to access tab pages.\nSolution:   Add window.tabpage, make window.number work with non-current tab\n            pages. (ZyX)\n"
    },
    {
      "commit": "54e8f005815342b9d1f5e92a766eb4783f5ad414",
      "tree": "5a30579510dc55c2371768cac7d4de2ac4171048",
      "parents": [
        "2cd7362e309aa6993ef355a7860fad549f30d239"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 19:44:39 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 19:44:39 2013 +0200"
      },
      "message": "updated for version 7.3.959\nProblem:    Missing error number.\nSolution:   Assign an error number.\n"
    }
  ],
  "next": "3dab2806feefef69a6b614b9d98463bf4d9aa955"
}
