)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "3dab2806feefef69a6b614b9d98463bf4d9aa955",
      "tree": "fd39e3d5db8c292761c1bde8fa8f13d26abc690f",
      "parents": [
        "71700b8903a8ccd172ae739f53520b59fc153bca"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 18:28:13 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 18:28:13 2013 +0200"
      },
      "message": "updated for version 7.3.957\nProblem:    Python does not have a \"do\" command like Perl or Lua.\nSolution:   Add the \":py3do\" command. (Lilydjwg)\n"
    },
    {
      "commit": "71700b8903a8ccd172ae739f53520b59fc153bca",
      "tree": "962e55687d43f70d0f5c4b0f226db3cb523f4d8c",
      "parents": [
        "a4720019cfca02fa0c04358daa562334bb716d57"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 17:49:05 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 17:49:05 2013 +0200"
      },
      "message": "updated for version 7.3.956\nProblem:    Python vim.bindeval() causes SIGABRT.\nSolution:   Make pygilstate a local variable. (Yukihiro Nakadaira)\n"
    },
    {
      "commit": "d5f729cada4129ceb8296b86390c38021684c75f",
      "tree": "a970a59306199cd8d205ee490e01d3f7e3172fac",
      "parents": [
        "e761459eb69597ee4099cf384b69d6f94b2ab8f0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 16:04:40 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 16:04:40 2013 +0200"
      },
      "message": "updated for version 7.3.953\nProblem:    Python: string exceptions are deprecated.\nSolution:   Make vim.error an Exception subclass. (ZyX)\n"
    },
    {
      "commit": "8661b17843d95866dedfa0f4fbfec2278ee010be",
      "tree": "e0de67a475e37adf3254859a9b3e870970ce50ec",
      "parents": [
        "4d188da22bc42b58ed66746c8d6235616214e55f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 15:44:28 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 15:44:28 2013 +0200"
      },
      "message": "updated for version 7.3.951\nProblem:    Python exceptions have problems.\nSolution:   Change some IndexErrors to TypeErrors. Make “line number out of\n            range” an IndexError.  Make “unable to get option value” a\n            RuntimeError. Make all PyErr_SetString messages start with\n            lowercase letter and use _(). (ZyX)\n"
    },
    {
      "commit": "4d188da22bc42b58ed66746c8d6235616214e55f",
      "tree": "e8c93bef490ad575b47925682fc16a1b46a34855",
      "parents": [
        "5e538ecd5e68b90f630be7bb177ab64e1285e40b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 15:35:09 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 15:35:09 2013 +0200"
      },
      "message": "updated for version 7.3.950\nProblem:    Python: Stack trace printer can\u0027t handle messages.\nSolution:   Make KeyErrors use PyErr_SetObject. (ZyX)\n"
    },
    {
      "commit": "5e538ecd5e68b90f630be7bb177ab64e1285e40b",
      "tree": "a2de7e503d39d22f9edb40253bb8cfb15d6f9a8e",
      "parents": [
        "03db85b398746a252345ed8a7da69f0f2591e932"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 15:12:29 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 15:12:29 2013 +0200"
      },
      "message": "updated for version 7.3.949\nProblem:    Python: no easy access to tabpages.\nSolution:   Add vim.tabpages and vim.current.tabpage. (ZyX)\n"
    },
    {
      "commit": "03db85b398746a252345ed8a7da69f0f2591e932",
      "tree": "7ed0344aa301a35ff620990e64264250182e06fd",
      "parents": [
        "b6c589a529bc8c5720477494696c6f69fe457475"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 14:51:35 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 14:51:35 2013 +0200"
      },
      "message": "updated for version 7.3.948\nProblem:    Cannot build with Python 2.2\nSolution:   Make Python interface work with Python 2.2\n            Make 2.2 the first supported version. (ZyX)\n"
    },
    {
      "commit": "b6c589a529bc8c5720477494696c6f69fe457475",
      "tree": "fa6f512190cb15fa5a0a3186312ede6115881e61",
      "parents": [
        "46a7561f3a151fefc469225d41822dd0be292f98"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 14:39:52 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 14:39:52 2013 +0200"
      },
      "message": "updated for version 7.3.947\nProblem:    Python: No iterator for vim.list and vim.bufferlist.\nSolution:   Add the iterators. Also fix name of FunctionType. Add tests for\n            vim.buffers.  (ZyX)\n"
    },
    {
      "commit": "dfa38d4e45a4a64c6b2a84c1d4c91b153f43a86d",
      "tree": "a60f495de869a13fde8cdf7cabd2ad977f9da521",
      "parents": [
        "29607acff640183682cd4ecb6c65985a7897bd51"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 13:38:47 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 13:38:47 2013 +0200"
      },
      "message": "updated for version 7.3.945\nProblem:    Python: List of buffers is not very useful.\nSolution:   Make vim.buffers a map. No iterator yet. (ZyX)\n"
    },
    {
      "commit": "bd80f35bc59442894a4ec56aefb0137cb0a350fa",
      "tree": "b822da2358409f0c5da3b1d2c266c58f5f70a536",
      "parents": [
        "8f1723de4735e437b4ced3be95d6582e713c3d7d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 12 21:16:23 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 12 21:16:23 2013 +0200"
      },
      "message": "updated for version 7.3.943\nProblem:    Python: Negative indices were failing.\nSolution:   Fix negative indices. Add tests. (ZyX)\n"
    },
    {
      "commit": "8f1723de4735e437b4ced3be95d6582e713c3d7d",
      "tree": "b8e71cbe3ac73cc19ceee047a8bdd3d10d37b1a3",
      "parents": [
        "3d0c52db9c3e2019bc5fe84debe59c042c3da20b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 12 20:36:14 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 12 20:36:14 2013 +0200"
      },
      "message": "updated for version 7.3.942\nProblem:    Python: SEGV in Buffer functions.\nSolution:   Call CheckBuffer() at the right time. (ZyX)\n"
    },
    {
      "commit": "971db4679940fd2f06733e8a1513215f9e1943a4",
      "tree": "566ecdc2f8d5cb86bc82160c190c20765da589ee",
      "parents": [
        "3b9abb6cc20d3077b6fd239fb59dee8c75fa599b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 12 18:44:48 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 12 18:44:48 2013 +0200"
      },
      "message": "updated for version 7.3.937\nProblem:    More can be shared between Python 2 and 3.\nSolution:   Move code to if_py_both.h. (ZyX)\n"
    },
    {
      "commit": "84a05acc8c341c2be383198496764992ae971a46",
      "tree": "061887e2e1327a2d0c688cba306b8ec66b3f8477",
      "parents": [
        "84e0f6ca9adcbdca254060713878ebc29faaaa65"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 06 04:24:17 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 06 04:24:17 2013 +0200"
      },
      "message": "updated for version 7.3.925\nProblem:    Typos in source files.\nSolution:   Fix the typos. (Ken Takata)\n"
    },
    {
      "commit": "84e0f6ca9adcbdca254060713878ebc29faaaa65",
      "tree": "3025211efa4e5c1d9f48e9f369ecd786713b6c69",
      "parents": [
        "d1864597a0d87fa9b3fbd09fc022b3405be7f274"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 06 03:52:55 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 06 03:52:55 2013 +0200"
      },
      "message": "updated for version 7.3.924\nProblem:    Python interface can\u0027t easily access options.\nSolution:   Add vim.options, vim.window.options and vim.buffer.options. (ZyX)\n"
    },
    {
      "commit": "230bb3f09d1661cb8da3ef64406270bd3e61aae3",
      "tree": "9c493ef3d30ffc39af2a540fa14bd64b563351b3",
      "parents": [
        "335e0b69744ededb907fb9167f72ac84e37e1304"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 24 14:07:45 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 24 14:07:45 2013 +0200"
      },
      "message": "updated for version 7.3.911\nProblem:    Python: Access to Vim variables is not so easy.\nSolution:   Define vim.vars and vim.vvars. (ZyX)\n"
    },
    {
      "commit": "4d1da49cfe2528474dafb0535dd0cab19c3c3579",
      "tree": "17059da73c94d39ff40c2b826dcbde03ff3eabdb",
      "parents": [
        "7a26dd860a1c666233574edc1b96f721f214067f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 24 13:39:15 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 24 13:39:15 2013 +0200"
      },
      "message": "updated for version 7.3.909\nProblem:    Duplicate Python code.\nSolution:   Move more items to if_py_both.h. (ZyX)  Also avoid compiler\n            warnings for missing initializers.\n"
    },
    {
      "commit": "af6abb9d93959d801d40a2d77a96962cef2335fc",
      "tree": "2a4c39066970fd372b41b351535429df0f6e3b31",
      "parents": [
        "3f99152276def2b8f88a3dd5f87f645e9e875da2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 24 13:04:26 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 24 13:04:26 2013 +0200"
      },
      "message": "updated for version 7.3.907\nProblem:    Python uses IndexError when a dict key is not found.\nSolution:   Use KeyError instead. (ZyX)\n"
    },
    {
      "commit": "4d36987c254b820ebfaf98957c0ae5182db0508e",
      "tree": "fd782ba208cffa25589f4614a0252445517096f9",
      "parents": [
        "2142e5d85112f37e68374c81612d6277c6aaaf0b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 20 16:09:43 2013 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 20 16:09:43 2013 +0100"
      },
      "message": "updated for version 7.3.825\nProblem:    With Python errors are not always clear.\nSolution:   Print the stack trace, unless :silent is used. (ZyX)\n"
    },
    {
      "commit": "76d711c3b5397b749a67d229150d3c1ff3f33add",
      "tree": "ca5c0745ab1f3995faacee77be1bf4369ae4765d",
      "parents": [
        "51971b33988e590901b9f6ad14a5a36f276afd0b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 13 14:17:08 2013 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 13 14:17:08 2013 +0100"
      },
      "message": "updated for version 7.3.808\nProblem:    Python threads still do not work properly.\nSolution:   Fix both Python 2 and 3.  Add tests. (Ken Takata)\n"
    },
    {
      "commit": "7854e3abcf71e00d7053603737ed04560fd70115",
      "tree": "e285765b81365c6857d4e39941a32de8665d894a",
      "parents": [
        "c83a44bf8f963ac1b3eb9a4dc76cb9c1a33809b0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 28 15:33:14 2012 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 28 15:33:14 2012 +0100"
      },
      "message": "updated for version 7.3.731\nProblem:    Py3Init_vim() is exported uneccessarily.\nSolution:   Make it static. (Ken Takata)\n"
    },
    {
      "commit": "99a547d3a1d1315a1a20246eb53fc63a306702d6",
      "tree": "e351de9ea0f5e675968c6af54e64179a3ef715b0",
      "parents": [
        "97d62497f51902f404c7dcc72683411df911593e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 20 11:04:35 2012 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 20 11:04:35 2012 +0100"
      },
      "message": "updated for version 7.3.716\nProblem:    Error on exit when using Python 3.\nSolution:   Remove PythonIO_Fini(). (Roland Puntaier)\n"
    },
    {
      "commit": "9c9cbf13511522c05e8cc8d038a858608a158533",
      "tree": "1f3a9527c635485215f52196c202f51161cb5cb1",
      "parents": [
        "12a753a5ca03fe8beddc06201104e785baccb471"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 23 05:17:37 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 23 05:17:37 2012 +0200"
      },
      "message": "updated for version 7.3.711\nProblem:    vim.current.buffer is not available. (lilydjwg)\nSolution:   Use py3_PyUnicode_AsUTF8 instead of py3_PyUnicode_AsUTF8String.\n            (Ken Takata)\n"
    },
    {
      "commit": "003d14a26771bf7d2c05013cd2fd9d2622f373b9",
      "tree": "45e175aff33fa0eefe1aeded6b75c37abccbf4b4",
      "parents": [
        "c4b98fbb3ea881621d051f84d67609f6789880bc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 21 01:47:00 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 21 01:47:00 2012 +0200"
      },
      "message": "updated for version 7.3.698\nProblem:    Python 3 does not preserve state beween commands.\nSolution:   Preserve the state. (Paul Ollis)\n"
    },
    {
      "commit": "7bc4f93c07a1e8b17e7d91f814b9801bd611d569",
      "tree": "3915a71692ce16c0a5116c785894c366a3f45bab",
      "parents": [
        "172ddb60c2401cd24c80a096709226e37592111f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 14 03:22:56 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 14 03:22:56 2012 +0200"
      },
      "message": "updated for version 7.3.688\nProblem:    Python 3.3 is not supported.\nSolution:   Add Python 3.3 support (Ken Takata)\n"
    },
    {
      "commit": "66b7985ec9e4924abc370636077ed33114d0327d",
      "tree": "d3fc6e02af7989af008caade8eff1eb53e5ad52c",
      "parents": [
        "770456589e5e53507fcd32013a190b520f4fc688"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 21 14:00:35 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 21 14:00:35 2012 +0200"
      },
      "message": "updated for version 7.3.672\nProblem:    Not possible to lock/unlock lists in Python interface.\nSolution:   Add .locked and .scope attributes. (ZyX)\n"
    },
    {
      "commit": "770456589e5e53507fcd32013a190b520f4fc688",
      "tree": "1bacd8f17ef1a832cd781507aa469d67b2520573",
      "parents": [
        "696c2116dc5e5403644d7f7dcaea49b83cf5a8f5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 21 13:46:06 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 21 13:46:06 2012 +0200"
      },
      "message": "updated for version 7.3.671\nProblem:    More Python code can be shared between Python 2 and 3.\nSolution:   Move code to if_py_both.h. (ZyX)\n"
    },
    {
      "commit": "e8cdcef87575cacbc9dd977de076af76e4405410",
      "tree": "fad755d283aa655a961f5c9a7ec76b5fe56d0533",
      "parents": [
        "fca93c093e0ec86331171ca4e169f73aa81ebfef"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 12 20:21:43 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 12 20:21:43 2012 +0200"
      },
      "message": "updated for version 7.3.661\nProblem:    SEGV in Python code.\nSolution:   Initialize len to zero.  Use the right function depending on\n            version. (Maxim Philippov)\n"
    },
    {
      "commit": "afa6b9af865c18dd865ccf7b804a4645570027bd",
      "tree": "c8f8f1be55f7f585f5290ba87da9f6599899ab31",
      "parents": [
        "cdab9051368a6437b7e40df673594147425df751"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 05 19:09:11 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 05 19:09:11 2012 +0200"
      },
      "message": "updated for version 7.3.658\nProblem:    NUL bytes truncate strings when converted from Python.\nSolution:   Handle truncation as an error. (ZyX)\n"
    },
    {
      "commit": "cdab9051368a6437b7e40df673594147425df751",
      "tree": "79288319fdc749ff595b899a882caeeebf98c474",
      "parents": [
        "77fceb890851e8c97c9d4bbe521dff165455d371"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 05 19:03:56 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 05 19:03:56 2012 +0200"
      },
      "message": "updated for version 7.3.657\nProblem:    Python bindings silently truncate string values containing NUL.\nSolution:   Fail when a string contains NUL. (ZyX)\n"
    },
    {
      "commit": "77fceb890851e8c97c9d4bbe521dff165455d371",
      "tree": "e5f5d88afd7d31aa822a4bd7436ee8feae8df874",
      "parents": [
        "e48a2dd3af920d712305e4225454cb2940fb3312"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 05 18:54:48 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 05 18:54:48 2012 +0200"
      },
      "message": "updated for version 7.3.656\nProblem:    Internal error in :pyeval.\nSolution:   Handle failed object conversion. (ZyX)\n"
    },
    {
      "commit": "2afa3238a13fe3f4769fa777ada34ec0d1ea5548",
      "tree": "69ba4e6054ddaed3f15e58f52445f5153cce9989",
      "parents": [
        "f27839c1a9e7390bb850d768e1146014b221cc43"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 29 16:28:28 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 29 16:28:28 2012 +0200"
      },
      "message": "updated for version 7.3.579\nProblem:    Can\u0027t compile with Python 2.5.\nSolution:   Use PyCObject when Capsules are not available.\n"
    },
    {
      "commit": "db91395312a02527ed973c8376d8e26e5b63ff53",
      "tree": "90f069389936dc2f2c8eb9ae8885ed68d1c336fb",
      "parents": [
        "a7014df97532a4171276aa7e3b878e80e88e513c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 29 12:54:53 2012 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 29 12:54:53 2012 +0200"
      },
      "message": "updated for version 7.3.569\nProblem:    Evaluating Vim expression in Python is insufficient.\nSolution:   Add vim.bindeval().  Also add pyeval() and py3eval(). (ZyX)\n"
    },
    {
      "commit": "7f85d297dc80666946f7940bc06e45cc2aa79b5d",
      "tree": "cda14c3f7f1b75c8a9769f58a0da62903040738e",
      "parents": [
        "3c70f33440ae141b09d0d2dec279a65a015bfef0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 04 20:17:26 2012 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 04 20:17:26 2012 +0100"
      },
      "message": "updated for version 7.3.422\nProblem:    Python 3 does not have __members__.\nSolution:   Add \"name\" and \"number\" in another way. (lilydjwg)\n"
    },
    {
      "commit": "314ed4b21ab330e9580f4963feba8c283cb84da1",
      "tree": "eab716a808269e2bdfbf46094003231271536c86",
      "parents": [
        "5302d9ebc1be723a25ff3dc62388305f6862749d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 14 18:59:39 2011 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 14 18:59:39 2011 +0200"
      },
      "message": "updated for version 7.3.313\nProblem:    One more warning when compiling with dynamic Python 3.\nSolution:   Change PySliceObject to PyObject.\n"
    },
    {
      "commit": "9e8edf6ee6340aa490be3981dedfbb836f0b9141",
      "tree": "d0d032eacca0fb483fc2d815a0cc5324de18e7a4",
      "parents": [
        "b5b5b895f7ddeda49ff36566e454cbf1444fb788"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 14 15:41:58 2011 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 14 15:41:58 2011 +0200"
      },
      "message": "updated for version 7.3.309\nProblem:    Warnings for pointer types.\nSolution:   Change PySliceObject to PyObject.\n"
    },
    {
      "commit": "ba4897e6e50ba3ce8c8744c0fb33a732af72147a",
      "tree": "9e49bb98f6d5061bc64d0520c2fa92beb1c08eac",
      "parents": [
        "a971b82b160aca28cff7e318d4553df5349b5103"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 14 15:01:58 2011 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 14 15:01:58 2011 +0200"
      },
      "message": "updated for version 7.3.307\nProblem:    Python 3 doesn\u0027t support slice assignment.\nSolution:   Implement slices. (Brett Overesch, Roland Puntaier)\n"
    },
    {
      "commit": "9dc93ae43e392d0de3cb3b2a0080c4dd29995c26",
      "tree": "e7f9ce8060eb9fd48ae9cfdb91c41e6dbaaf243b",
      "parents": [
        "2eba18255ea36927ea0acc6d45b7be03ca94a139"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 28 16:00:19 2011 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 28 16:00:19 2011 +0200"
      },
      "message": "updated for version 7.3.288\nProblem:    has(\u0027python\u0027) may give an error message for not being able to load\n            the library after using python3.\nSolution:   Only give the error when the verbose argument is true.\n"
    },
    {
      "commit": "3d64a3176c9ffe249ad4b5403a18f8364e707813",
      "tree": "cb1e9daef3a741e84aa700ddb70ef2b51597bd9f",
      "parents": [
        "50f42cadb1a5970d3a6b83d961e66fa486df8fcb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 15 15:54:44 2011 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 15 15:54:44 2011 +0200"
      },
      "message": "updated for version 7.3.250\nProblem:    Python: Errors in Unicode characters not handled nicely.\nSolution:   Add the surrogateescape error handler. (lilydjwg)\n"
    },
    {
      "commit": "0baa7f1cd0aad0ff011d87340e24c678853b33ca",
      "tree": "3bf1ceaaac3faf676ca4037609866c8b48649c18",
      "parents": [
        "8b3e0330ba1fee9ac6293f82f546e08be3f0799c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 26 19:13:50 2011 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 26 19:13:50 2011 +0200"
      },
      "message": "updated for version 7.3.236\nProblem:    Python 3 doesn\u0027t compile without +multi_byte\nSolution:   Use \"latin1\" when MULTI_BYTE is not defined. (lilydjwg)\n"
    },
    {
      "commit": "19e609437873594b8b08aaceafbe81ef235044bf",
      "tree": "7267281ba8360c116e6def0f1c626c2d66421d37",
      "parents": [
        "f85dae3c34065244f701e44c21a4e828566c63f1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 19 00:27:51 2011 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 19 00:27:51 2011 +0200"
      },
      "message": "updated for version 7.3.220\nProblem:    Python 3: vim.error is a \u0027str\u0027 instead of an \u0027Exception\u0027 object,\n            so \u0027except\u0027 or \u0027raise\u0027 it causes a \u0027SystemError\u0027 exception.\n            Buffer objects do not support slice assignment.\n            When exchanging text between Vim and Python, multibyte texts become\n            gabage or cause Unicode Expceptions, etc.\n            \u0027py3file\u0027 tries to read in the file as Unicode, sometimes causes\n            UnicodeDecodeException\nSolution:   Fix the problems. (lilydjwg)\n"
    },
    {
      "commit": "456f2bb24f269a1f1ceb5ddedfb828ca33fc270b",
      "tree": "719e2e4d94ccdbd2fb439dc68ea03f59c18f6205",
      "parents": [
        "03227eeb797dcc7cdd90672b67b8daff61943f21"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 12 21:37:13 2011 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 12 21:37:13 2011 +0200"
      },
      "message": "updated for version 7.3.212\nProblem:    With Python 3.2 \":py3\" fails.\nSolution:   Move PyEval_InitThreads() to after Py_Initialize(). (Roland\n            Puntaier)  Check abiflags in configure. (Andreas Behr)\n"
    },
    {
      "commit": "0c1f3f4d49acf4245d2714f8756e5622a9f5fa7d",
      "tree": "e618dc5c3faca0ec64edf3f58f8701ecf2d12145",
      "parents": [
        "c725c0ad9b14661d1bcb2bb08c51e529182eb1dc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 25 15:18:50 2011 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 25 15:18:50 2011 +0100"
      },
      "message": "updated for version 7.3.132\nProblem:    C++ style comments.\nSolution:   Change to C comments.\n"
    },
    {
      "commit": "644d37b84d8f520f807ef665b476c47b72862eff",
      "tree": "ab5ea0c766b10f74514876e10c50daa61ea8f919",
      "parents": [
        "00b78c17b24e61b73f8ecf8fa3e5154d396c1d1a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 16 19:26:02 2010 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 16 19:26:02 2010 +0100"
      },
      "message": "updated for version 7.3.062\nProblem:    Python doesn\u0027t work properly when installed in another directory\n            than expected.\nSolution:   Figure out home directory in configure and use Py_SetPythonHome()\n            at runtime. (Roland Puntaier)\n"
    },
    {
      "commit": "ebbcb824baf770e42ad53c532905a329d762e94e",
      "tree": "103c8a111f4c16c2a619f66127708e24d28d39b9",
      "parents": [
        "b8e86705ca09deeee5044af6e3afb4e9999eceb5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 23 14:02:54 2010 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 23 14:02:54 2010 +0200"
      },
      "message": "updated for version 7.3.034\nProblem:    Win32: may be loading .dll from the wrong directory.\nSolution:   Go to the Vim executable directory when opening a library.\n"
    },
    {
      "commit": "b744b2fa3216740c74d74bd62b26b6a539f026d1",
      "tree": "1ca653eec27c5356fb60be2873c7dab0137cd639",
      "parents": [
        "2a988a162c85df0092eca6b23eff9cd0fcd7de9a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 13 16:22:57 2010 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 13 16:22:57 2010 +0200"
      },
      "message": "Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)\n"
    },
    {
      "commit": "b61f95c31f37ae3c5daef6596b55e4b9dec62eb8",
      "tree": "26d5793388a89a80bcddd30cb72ab16e7a2d5809",
      "parents": [
        "82d1c33a8ab759aeca7efb462ecca66c8fa0ac96"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 09 22:06:13 2010 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 09 22:06:13 2010 +0200"
      },
      "message": "When building with both Python 2 and Python 3 don\u0027t use RTLD_GLOBAL, so that\nboth may work.\n"
    },
    {
      "commit": "ca8a4dfe7aa94dc3285a0f834c472c07358fddb0",
      "tree": "ab75149e518b06d286693090f949fe49b59a0420",
      "parents": [
        "3b1c48569d98597ac0539609c9a922bedba0e081"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 31 19:54:14 2010 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 31 19:54:14 2010 +0200"
      },
      "message": "Move many more common Python items to if_py_both.c.\n"
    },
    {
      "commit": "d68554d4fe34884fb9209957f3b09e9544c419d6",
      "tree": "4fe440ab68183c188731e9bd1eb4d8fa21da322c",
      "parents": [
        "bed7beca58549a98ccebe21d339f0bb461e93f5f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 25 13:43:20 2010 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 25 13:43:20 2010 +0200"
      },
      "message": "Include old Python changes in Python 3 interface.\n"
    },
    {
      "commit": "170bf1aed576cea59a18c9015a3c7d417053c335",
      "tree": "a3d3ee620442f962634a912372c8fea01048cd50",
      "parents": [
        "365bdf7a7b2e28624186eed398af542cb9cc3fdb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 24 23:51:45 2010 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 24 23:51:45 2010 +0200"
      },
      "message": "Move some common code from if_python.c and if_python3.c to if_py_both.h.\n"
    }
  ],
  "next": "4c3a326c53c27f67f7ce8e1bbabc684c74a06634"
}
