)]}'
{
  "log": [
    {
      "commit": "2caad3fbbdbf1486a176c9f6bfbc3d9be90e09f7",
      "tree": "f8c0b685281d64e985fd59046f1c12df66ca85bb",
      "parents": [
        "4efe73b478d3ba689078da502fd96f45204ff1f5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 16 15:38:02 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 16 15:38:02 2018 +0100"
      },
      "message": "patch 8.1.0602: DirChanged is also triggered when directory didn\u0027t change\n\nProblem:    DirChanged is also triggered when the directory didn\u0027t change.\n            (Daniel Hahler)\nSolution:   Compare the current with the new directory. (closes #3697)\n"
    },
    {
      "commit": "cd1a62d468a55aca68deb3139d83530c7c23568d",
      "tree": "37644066fac5d64c48b955b2f4436f051e661fe9",
      "parents": [
        "142a9758151e470307a80ea37b06ea34558ff5b3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 14 21:32:02 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 14 21:32:02 2018 +0100"
      },
      "message": "patch 8.1.0590: when a job ends the closed channels are not handled\n\nProblem:    When a job ends the closed channels are not handled.\nSolution:   When a job is detected to have ended, check the channels again.\n            (closes #3530)\n"
    },
    {
      "commit": "98aefe7c3250bb5d4153b994f878594d1745424e",
      "tree": "262ae31c2dbf4ac0353f5564a2419a79267fa3ae",
      "parents": [
        "5c5697f29829fc3b21fc5452fe8f239f6a4cb8e1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 13 22:20:09 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 13 22:20:09 2018 +0100"
      },
      "message": "patch 8.1.0579: cannot attach properties to text\n\nProblem:    Cannot attach properties to text.\nSolution:   First part of adding text properties.\n"
    },
    {
      "commit": "f49cc60aa802862c595ff619dccc11271633a94b",
      "tree": "e8f01a0c236f2910f117c858f7236b8919e33b93",
      "parents": [
        "8617b401599451187fa0c0561a84944978536a90"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 11 15:21:05 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 11 15:21:05 2018 +0100"
      },
      "message": "patch 8.1.0519: cannot save and restore the tag stack\n\nProblem:    Cannot save and restore the tag stack.\nSolution:   Add gettagstack() and settagstack(). (Yegappan Lakshmanan,\n            closes #3604)\n"
    },
    {
      "commit": "9f84ded38b62c82a4ee57b54f403b1b185ed8170",
      "tree": "c114d902fa8638abc397b1abb73c36f8f4dc557f",
      "parents": [
        "4c5d815256099b50eca2ec5bf8f9aaa67a890211"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 20 20:54:02 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 20 20:54:02 2018 +0200"
      },
      "message": "patch 8.1.0488: using freed memory in quickfix code\n\nProblem:    Using freed memory in quickfix code. (Dominique Pelle)\nSolution:   Add the quickfix_busy() flag to postpone deleting quickfix lists\n            until it is safe. (Yegappan Lakshmanan, closes #3538)\n"
    },
    {
      "commit": "1df2fa47b49dae568af6048b1dce1edbf4eee7e7",
      "tree": "4f50ded46c1f891715df3b43c30a2c7bc7693daf",
      "parents": [
        "798184cc67036285a24b38c0bf6668d4d1525548"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 07 21:36:11 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 07 21:36:11 2018 +0200"
      },
      "message": "patch 8.1.0464: MS-Windows: job_info() has cmd without backslashes\n\nProblem:    MS-Windows: job_info() has cmd without backslashes. (Daniel\n            Hahler)\nSolution:   Use rem_backslash(). (closes #3517, closes #3404)\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": "94f01956a583223dafe24135489d0ab1100ab0ad",
      "tree": "536ab4543d93fd2f354a555b49698b1985636576",
      "parents": [
        "32bbd00949c585ea1c9da13197279a175097eddd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 01 15:30:03 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 01 15:30:03 2018 +0200"
      },
      "message": "patch 8.1.0342: crash when a callback deletes a window that is being used\n\nProblem:    Crash when a callback deletes a window that is being used.\nSolution:   Do not unload a buffer that is being displayed while redrawing the\n            screen. Also avoid invoking callbacks while redrawing.\n            (closes #2107)\n"
    },
    {
      "commit": "1f0bfe561737cd445532f20d7607a81d1dadddee",
      "tree": "7328a946135589dc8e69e2e4ff34afbd18be2e77",
      "parents": [
        "612cc3888b136e80485132d9f997ed457dbc5501"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 29 16:09:22 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 29 16:09:22 2018 +0200"
      },
      "message": "patch 8.1.0226: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate the +vreplace feature, it\u0027s not much code and quite a few\n            #ifdefs.\n"
    },
    {
      "commit": "7c365fb190225d98af818daf195dc19921fe01ca",
      "tree": "e848877539d1e033be7f7f430bbc880a4918b877",
      "parents": [
        "307ac5c68e9e624ab713136d79f35bb73f780d2d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 29 20:28:31 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 29 20:28:31 2018 +0200"
      },
      "message": "patch 8.1.0127: build failure when disabling the session feature\n\nProblem:    Build failure when disabling the session feature. (Pawel Slowik)\nSolution:   Adjust #ifdef for vim_chdirfile().\n"
    },
    {
      "commit": "ebe74b73677b06db7d483987a863b41cee051cc0",
      "tree": "845132a5cdf2177e0d45e500e08443f57b3a3bf4",
      "parents": [
        "a69b39511d769bc88f0854bd026556fdb9bd2817"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 21 23:34:43 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 21 23:34:43 2018 +0200"
      },
      "message": "patch 8.0.1747: MS-Windows: term_start() does not set job_info() cmd\n\nProblem:    MS-Windows: term_start() does not set job_info() cmd.\nSolution:   Share the code from job_start() to set jv_argv.\n"
    },
    {
      "commit": "2060892028e05b1325dc0759259254180669eb5e",
      "tree": "26858ee1551ef811ca2f48eaea266253334fc2b5",
      "parents": [
        "9980b37a80dc72eef05bf8862aaf475ab17790a5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 21 22:30:08 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 21 22:30:08 2018 +0200"
      },
      "message": "patch 8.0.1745: build failure on MS-Windows\n\nProblem:    Build failure on MS-Windows.\nSolution:   Build job arguments for MS-Windows. Fix allocating job twice.\n"
    },
    {
      "commit": "333b80acf3a44e462456e6d5730e47ffa449c83d",
      "tree": "24070cc76ef5b978aabc38db366e04e0dbed591d",
      "parents": [
        "1f8495cf48888ff3a8ab3d0eb22db92389191a60"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 04 22:57:29 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 04 22:57:29 2018 +0200"
      },
      "message": "patch 8.0.1660: the terminal API \"drop\" command doesn\u0027t support options\n\nProblem:    The terminal API \"drop\" command doesn\u0027t support options.\nSolution:   Implement the options.\n"
    },
    {
      "commit": "e26e0d2b83c2875b9829b884c2ababf8ca771f7e",
      "tree": "735f0165077cc0ecaedce1f0e6ff17f779e3dc4b",
      "parents": [
        "81c3c89a28859de3aa167c53355f374394ada093"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 20 12:34:04 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 20 12:34:04 2018 +0100"
      },
      "message": "patch 8.0.1620: reading spell file has no good EOF detection\n\nProblem:    Reading spell file has no good EOF detection.\nSolution:   Check for EOF at every character read for a length field.\n"
    },
    {
      "commit": "f2bd8ef2b4507d02c6043affff8f7e85e3414d5f",
      "tree": "f14cb8e7ff09975920f3a813d7de4851a2972661",
      "parents": [
        "3f54fd319f6641b4bed478bcc90cdb39ede68e31"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 04 18:08:14 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 04 18:08:14 2018 +0100"
      },
      "message": "patch 8.0.1564: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate the +autocmd feature. Takes away 450 #ifdefs and\n            increases code size of tiny Vim by only 40 Kbyte.\n"
    },
    {
      "commit": "d23a823669d93fb2a570a039173eefe4856ac806",
      "tree": "617130258eae70e3bd7ef7b6da9c494ffee7b572",
      "parents": [
        "42443c7d7fecc3a2a72154bb6139b028438617c2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 10 18:45:26 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 10 18:45:26 2018 +0100"
      },
      "message": "patch 8.0.1496: clearing a pointer takes two lines\n\nProblem:    Clearing a pointer takes two lines.\nSolution:   Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,\n            closes #2629)\n"
    },
    {
      "commit": "b301f6b950975b9d7ae87a4f551b32bba63ccdcf",
      "tree": "f012145cca456fe2f3aa04293fed21afd0f6209b",
      "parents": [
        "a8f04aa275984183bab5bb583b128f38c64abb69"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 10 15:38:35 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 10 15:38:35 2018 +0100"
      },
      "message": "patch 8.0.1492: memory leak in balloon_split()\n\nProblem:    Memory leak in balloon_split().\nSolution:   Free the balloon lines. Free the balloon when exiting.\n"
    },
    {
      "commit": "1567558b20575e1b17c3808c6bd622b0b4810e36",
      "tree": "99daa4315bad8425010182fc21c12516a5c96713",
      "parents": [
        "0562532c2eee6205d225aa1dc7e3e89af0dfd990"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 09 12:29:56 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 09 12:29:56 2018 +0100"
      },
      "message": "patch 8.0.1481: clearing a pointer takes two lines\n\nProblem:    Clearing a pointer takes two lines.\nSolution:   Add vim_clear() to free and clear the pointer.\n"
    },
    {
      "commit": "b5cb65ba2bcc6bbc6d2798a2dea18b95f0b38f5e",
      "tree": "d5c80b77e3b6bbe3bff5d99f98432c3cc0878bdd",
      "parents": [
        "b7407d3fc9496f9048fb65ab17b5ba3444965c0e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 03 18:01:37 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 03 18:01:37 2018 +0100"
      },
      "message": "patch 8.0.1460: missing file in patch\n\nProblem:    Missing file in patch.\nSolution:   Add changes to missing file.\n"
    },
    {
      "commit": "e6640ad44e2186bd3642b972115496d347cd1fdd",
      "tree": "647370d0a60e9adbdd4acb9ef0b6235be513d1e1",
      "parents": [
        "3c09722600e3218905b5d4a7b635a9e6560f87b3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 22 21:06:56 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 22 21:06:56 2017 +0100"
      },
      "message": "patch 8.0.1421: accessing invalid memory with overlong byte sequence\n\nProblem:    Accessing invalid memory with overlong byte sequence.\nSolution:   Check for NUL character. (test by Dominique Pelle, closes #2485)\n"
    },
    {
      "commit": "1bd999f982e783219a06e6c8f219df1d53ac7e77",
      "tree": "28068b42e03ad713bfa8ed033ffc8d80c026a4b8",
      "parents": [
        "8ada6aa9298b4764d9ca0024dd21b17e815595ce"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 19 22:25:40 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 19 22:25:40 2017 +0100"
      },
      "message": "patch 8.0.1417: test doesn\u0027t search for a sentence\n\nProblem:    Test doesn\u0027t search for a sentence. Still fails when searching for\n            start of sentence. (Dominique Pelle)\nSolution:   Add paren. Check for MAXCOL in dec().\n"
    },
    {
      "commit": "8ada6aa9298b4764d9ca0024dd21b17e815595ce",
      "tree": "62c0e569a6a0ec13d41098dc737c43bac94d0ee7",
      "parents": [
        "4ce46c2a6b59586e329fb41ad25799872bffc2c8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 19 21:23:21 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 19 21:23:21 2017 +0100"
      },
      "message": "patch 8.0.1416: crash when searching for a sentence\n\nProblem:    Crash when searching for a sentence.\nSolution:   Return NUL when getting character at MAXCOL. (closes #2468)\n"
    },
    {
      "commit": "51b0f3701ecb440aa72ab6017c1df6940c0e0f6f",
      "tree": "9cfd3546d8e52be2b1425dcc65095f8e650eadde",
      "parents": [
        "234d16286a2733adedef56784c17415ae169b9ad"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 18 18:52:04 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 18 18:52:04 2017 +0100"
      },
      "message": "patch 8.0.1309: cannot use \u0027balloonexpr\u0027 in a terminal\n\nProblem:    Cannot use \u0027balloonexpr\u0027 in a terminal.\nSolution:   Add \u0027balloonevalterm\u0027 and add code to handle mouse movements in a\n            terminal. Initial implementation for Unix with GUI.\n"
    },
    {
      "commit": "a3f7e58bf846b28b347a5d5b96c2d829871bd212",
      "tree": "d504fc8fc95d1f029d8a5790ca49ed13e8e08168",
      "parents": [
        "c9e9c7140994154bb4a29764491d42c001b24596"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 09 13:21:58 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 09 13:21:58 2017 +0100"
      },
      "message": "patch 8.0.1276: key lost when window closed in exit callback\n\nProblem:    Typed key is lost when the terminal window is closed in exit\n            callback. (Gabriel Barta)\nSolution:   When the current window changes bail out of the wait loop. (closes\n            #2302)\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": "4f1982800f0aff28df6875e718a786f6c4b11ad9",
      "tree": "0cda1a53ffa28cd3bb662507ebff7ee1a1221def",
      "parents": [
        "2e4cb3b042faba5efc9b5a8b4f86942a417494ce"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 23 21:53:30 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 23 21:53:30 2017 +0200"
      },
      "message": "patch 8.0.1214: accessing freed memory when EXITFREE is set\n\nProblem:    Accessing freed memory when EXITFREE is set and there is more than\n            one tab and window. (Dominique Pelle)\nSolution:   Free options later.  Skip redraw when exiting.\n"
    },
    {
      "commit": "0263146b5dbbb6c120ce2e7720256503b864425d",
      "tree": "b6f18fde8fd4bbc29c322b414ac584106e512d7a",
      "parents": [
        "53f8174eaeb93b381cf74c58863f8fe82748a22a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 22 15:20:32 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 22 15:20:32 2017 +0200"
      },
      "message": "patch 8.0.1136: W_WIDTH() is always the same\n\nProblem:    W_WIDTH() is always the same.\nSolution:   Expand the macro.\n"
    },
    {
      "commit": "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": "d41babef89a50cdf165f15bc1834c0a4e89ffff8",
      "tree": "fe92798ce61d0cda8fa746fc9baacc9dc1663266",
      "parents": [
        "4ad3b2b588f0f591dcc53096c46ec1b5e80af49f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 30 17:01:35 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 30 17:01:35 2017 +0200"
      },
      "message": "patch 8.0.1019: pasting in virtual edit happens in the wrong place\n\nProblem:    Pasting in virtual edit happens in the wrong place.\nSolution:   Do not adjust coladd when after the end of the line (closes #2015)\n"
    },
    {
      "commit": "13ebb03e7520c2c34f93444b0146640ca08e7424",
      "tree": "6a56af98898e32e5aa48fb80fb5fce1248e1ec24",
      "parents": [
        "dde81312b031211752d1fcb8539d79f90f324a2e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 26 22:02:51 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 26 22:02:51 2017 +0200"
      },
      "message": "patch 8.0.1000: cannot open a terminal without running a job in it\n\nProblem:    Cannot open a terminal without running a job in it.\nSolution:   Make \":terminal NONE\" open a terminal with a pty.\n"
    },
    {
      "commit": "9aa156912867c05e0a6480925afe11c590378f09",
      "tree": "8edcc2a13208a239bf234c32f6dde2e6fc0ad01e",
      "parents": [
        "98ebd2bbec3443878dd0ed772ab67efb618f2fad"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 19 15:05:32 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 19 15:05:32 2017 +0200"
      },
      "message": "patch 8.0.0962: crash with virtualedit and joining lines\n\nProblem:    Crash with virtualedit and joining lines. (Joshua T Corbin, Neovim\n            #6726)\nSolution:   When using a mark check that coladd is valid.\n"
    },
    {
      "commit": "613fe7ad2b8e2d4e990cc56596590a23a42c3f7a",
      "tree": "5527ba540d9e47d1546c7010363427f826ca0a5d",
      "parents": [
        "6ed8069c798827ec4448f37bf2795a08fc9cbd05"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 22 21:11:53 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 22 21:11:53 2017 +0200"
      },
      "message": "patch 8.0.0751: OpenPTY missing with some combination of features\n\nProblem:    OpenPTY missing with some combination of features. (Kazunobu\n            Kuriyama)\nSolution:   Adjust #ifdef.  Also include pty.pro when needed.\n"
    },
    {
      "commit": "a529ce068ba84d53343f3732b6a1ed4ad1fe3a68",
      "tree": "a427a438d7a02ba84e0aa8a980b59c047269e0e5",
      "parents": [
        "a1fed064d1eca6ae2c526311ec5464175c6f19e2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 22 22:37:57 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 22 22:37:57 2017 +0200"
      },
      "message": "patch 8.0.0661: recognizing urxvt mouse codes does not work well\n\nProblem:    Recognizing urxvt mouse codes does not work well.\nSolution:   Recognize \"Esc[*M\" and \"Esc[*m\". (Maurice Bos, closes #1486)\n"
    },
    {
      "commit": "478af67dd6a9adc456464c3736bda328ae3a28cb",
      "tree": "cba8ed52ec81c2416324d194c642179536f3e802",
      "parents": [
        "451a4a1cb7797e5d9b9fd625671cb5c652e7da00"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 10 22:22:42 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 10 22:22:42 2017 +0200"
      },
      "message": "patch 8.0.0561: undefined behavior when using backslash after empty line\n\nProblem:    Undefined behavior when using backslash after empty line.\nSolution:   Check for an empty line. (Dominique Pelle, closes #1631)\n"
    },
    {
      "commit": "ace95989ed81929a84e205b26d0972cb9d6b4b19",
      "tree": "e6d6813abe2e2671741c7ca27864d85969ec601b",
      "parents": [
        "0c078fc7db2902d4ccba04506db082ddbef45a8c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 29 17:30:27 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 29 17:30:27 2017 +0200"
      },
      "message": "patch 8.0.0520: using a function pointer while the function is known\n\nProblem:    Using a function pointer instead of the actual function, which we\n            know.\nSolution:   Change mb_ functions to utf_ functions when already checked for\n            Unicode. (Dominique Pelle, closes #1582)\n"
    },
    {
      "commit": "15618fa643867cf0d9c31f327022a22dff78a0cf",
      "tree": "3b2d9c7ea41f496aafba01b1dc9091539e95c282",
      "parents": [
        "81b9d0bd5c705815e903e671e81b0b05828efd9c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 19 21:37:13 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 19 21:37:13 2017 +0100"
      },
      "message": "patch 8.0.0493: crash with cd command with very long argument\n\nProblem:    Crash with cd command with very long argument.\nSolution:   Check for running out of space. (Dominique pending, closes #1576)\n"
    },
    {
      "commit": "f2405ed2321da4a879fe0b0703af780fc0432c63",
      "tree": "0cc02db45ec63fd64c3d75e5d5ab2c2a24e51a60",
      "parents": [
        "57002ad70c4c32f3afefec24994a974cf3eef3ad"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 19:58:25 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 19:58:25 2017 +0100"
      },
      "message": "patch 8.0.0468: after aborting an Ex command g\u003c does not work\n\nProblem:    After aborting an Ex command g\u003c does not work. (Marcin\n            Szamotulski)\nSolution:   Postpone clearing scrollback messages to until the command line\n            has been entered.  Also fix that the screen isn\u0027t redrawn if after\n            g\u003c the command line is cancelled.\n"
    },
    {
      "commit": "d8492792f26c5bbdefc8f452a393621f055edd8c",
      "tree": "58a8bd36446e1c8b84410238e0fa4738ba44f52a",
      "parents": [
        "fe70c5198336dba7e8b0fa915e6c4350e7f80f6f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 12:22:38 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 12:22:38 2017 +0100"
      },
      "message": "patch 8.0.0460: can\u0027t build on HPUX\n\nProblem:    Can\u0027t build on HPUX.\nSolution:   Fix argument names in vim_stat(). (John Marriott)\n"
    },
    {
      "commit": "1c46544412382db8b3203d6c78e550df885540bd",
      "tree": "d4dc51020d3ebdbee4548b0d5628221f921af2f3",
      "parents": [
        "91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 20:10:05 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 20:10:05 2017 +0100"
      },
      "message": "patch 8.0.0452: some macros are in lower case\n\nProblem:    Some macros are in lower case.\nSolution:   Make a few more macros upper case.\n"
    },
    {
      "commit": "91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f",
      "tree": "1923145c992a09b3adc06e40f02284ff0ef21bbd",
      "parents": [
        "47ffb905f363571072faefbd417938e7ff351a9f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 19:22:36 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 19:22:36 2017 +0100"
      },
      "message": "patch 8.0.0451: some macros are in lower case\n\nProblem:    Some macros are in lower case.\nSolution:   Make a few more macros upper case. Avoid lower case macros use an\n            argument twice.\n"
    },
    {
      "commit": "5a66dfb25eb478c26176d993393a3b1b124edb39",
      "tree": "4bd7c35e770f8d9612cf3ec57c360bbfeee5cfc1",
      "parents": [
        "59716a27bd5c6c64def6c3ca430ff1246deae749"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 01 20:40:39 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 01 20:40:39 2017 +0100"
      },
      "message": "patch 8.0.0397: can\u0027t build with +viminfo but without +eval\n\nProblem:    Cannot build with the viminfo feature but without the eval\n            feature.\nSolution:   Adjust #ifdef. (John Marriott)\n"
    },
    {
      "commit": "24922ec23360e7ea7c5a803c9edf476bb6395b32",
      "tree": "c23edca1b1a49453b68a57e4e4ae6c7e1d217b94",
      "parents": [
        "354796c19a0a4a048017059a0281938cc0b8f09a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 23 17:59:22 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 23 17:59:22 2017 +0100"
      },
      "message": "patch 8.0.0357: crash when setting \u0027guicursor\u0027 to weird value\n\nProblem:    Crash when setting \u0027guicursor\u0027 to weird value.\nSolution:   Avoid negative size. (Dominique Pelle, closes #1465)\n"
    },
    {
      "commit": "45600ce8f2bead069882032f992623cd5a799ca0",
      "tree": "06276b999ac5cc079f80b28f1a97506429807ee0",
      "parents": [
        "aed6d0b81a14a81433c0f3c2c65cef935100db33"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 27 21:54:07 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 27 21:54:07 2017 +0100"
      },
      "message": "patch 8.0.0248: vim_strcat() cannot handle overlapping arguments\n\nProblem:    vim_strcat() cannot handle overlapping arguments.\nSolution:   Use mch_memmove() instead of strcpy(). (Justin M Keyes,\n            closes #1415)\n"
    },
    {
      "commit": "cc5b22b3bfdc0e9e835cf7871166badda31447bd",
      "tree": "11e117ab82deca899a492b823dd0b0cb1c0ed37b",
      "parents": [
        "65c836e6004647196ae0bc18e409a9e7b79207c0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 26 22:51:56 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 26 22:51:56 2017 +0100"
      },
      "message": "patch 8.0.0243: tolower() does not work if the byte count changes\n\nProblem:    When making a character lower case with tolower() changes the byte\n            cound, it is not made lower case.\nSolution:   Add strlow_save(). (Dominique Pelle, closes #1406)\n"
    },
    {
      "commit": "52c0de1de196120976fef82cbbaaeafbedd9c62f",
      "tree": "65c1c343ccaa03c1674fde48c9bde5fc069690f1",
      "parents": [
        "4f7090b93d9b2c2e1724466a2e069e97a5e91808"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 26 21:36:34 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 26 21:36:34 2017 +0100"
      },
      "message": "patch 8.0.0241: fallback implementation of mch_memmove is unused\n\nProblem:    Vim defines a mch_memmove() function but it doesn\u0027t work, thus is\n            always unused.\nSolution:   Remove the mch_memmove implementation. (suggested by Dominique\n            Pelle)\n"
    },
    {
      "commit": "423977d3cebac2be1158b1d11da60fe96db4b750",
      "tree": "01c4beffd9aae804a18666257467926fd0ce2e0c",
      "parents": [
        "560379d7ae1bace259bbc29a275e73446346ce66"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 22 15:05:12 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 22 15:05:12 2017 +0100"
      },
      "message": "patch 8.0.0212: buffer for key name may be too small\n\nProblem:    The buffer used to store a key name theoreticaly could be too\n            small. (Coverity)\nSolution:   Count all possible modifier characters.  Add a check for the\n            length just in case.\n"
    },
    {
      "commit": "ec2da36ca48b40c0654b32a8d2c9f52e796daa5e",
      "tree": "f6dab5f51ef8f54af0f45fa5b79129638f3c2737",
      "parents": [
        "41baa7983aa81b0343b053e6a672cf8224a10245"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 21 20:04:22 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 21 20:04:22 2017 +0100"
      },
      "message": "patch 8.0.0210: no support for bracketed paste\n\nProblem:    Vim does not support bracketed paste, as implemented by xterm and\n            other terminals.\nSolution:   Add t_BE, t_BD, t_PS and t_PE.\n"
    },
    {
      "commit": "caa55b65c204946d160c1b743c5f8f3b506dc4d3",
      "tree": "3dd961455a51a51c70020597080d9014aa37366b",
      "parents": [
        "68563937f58ea2dc31b58739336c383d2fd7e6cf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 10 13:51:09 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 10 13:51:09 2017 +0100"
      },
      "message": "patch 8.0.0164: outdated and misplaced comments\n\nProblem:    Outdated and misplaced comments.\nSolution:   Fix the comments.\n"
    },
    {
      "commit": "5162822914372fc916a93f85848c0c82209e7cec",
      "tree": "10ca48f8f85f3a54843cc404c33d8de8ea4684f3",
      "parents": [
        "cf49790443eea7d720be556f4aaea261feb55259"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 01 23:03:28 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 01 23:03:28 2016 +0100"
      },
      "message": "patch 8.0.0118\nProblem:    \"make proto\" adds extra function prototype.\nSolution:   Add #ifdef.\n"
    },
    {
      "commit": "b129a447f3b580d4c941869672b0557c52c37e4d",
      "tree": "8f21d9d1f0f3fd42e4bf5d203c280a44b166d0a8",
      "parents": [
        "65e08ee1d26aa7bf341ac0e0400839d696d1ab64"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 01 17:25:20 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 01 17:25:20 2016 +0100"
      },
      "message": "patch 8.0.0109\nProblem:    Still checking if memcmp() exists while every system should have\n            it now.\nSolution:   Remove vim_memcmp().  (James McCoy, closes #1295)\n"
    },
    {
      "commit": "8a8199e4a1814b10630a770165502abb1121cd1b",
      "tree": "c6fe9958116a7cea4ca4bcbdb18c2b3f33bf4530",
      "parents": [
        "7554da4033498c4da0af3cde542c3e87e9097b73"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 26 15:13:33 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 26 15:13:33 2016 +0100"
      },
      "message": "patch 8.0.0103\nProblem:    May not process channel readahead. (skywind)\nSolution:   If there is readahead don\u0027t block on input.\n"
    },
    {
      "commit": "833eb1d752426689051bf2001083359899536939",
      "tree": "f91eeead037b689d8d02bd1e47704332a63d7de0",
      "parents": [
        "2cab0e191055a8145ccd46cd52869fbb9798b971"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 24 17:22:50 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 24 17:22:50 2016 +0100"
      },
      "message": "patch 8.0.0097\nProblem:    When a channel callback consumes a lot of time Vim becomes\n            unresponsive. (skywind)\nSolution:   Bail out of checking channel readahead after 100 msec.\n"
    },
    {
      "commit": "95f096030ed1a8afea028f2ea295d6f6a70f466f",
      "tree": "9b1dcdbbe678ad1a3152f5cfd70a136efce6bc92",
      "parents": [
        "459ca563128f2edb7e3bb190090bbb755a56dd55"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 10 20:01:45 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 10 20:01:45 2016 +0100"
      },
      "message": "patch 8.0.0074\nProblem:    Cannot make Vim fail on an internal error.\nSolution:   Add IEMSG() and IEMSG2(). (Domenique Pelle)  Avoid reporting an\n            internal error without mentioning where.\n"
    },
    {
      "commit": "3a117e19e02bf29cfc5e398470dd7851ae3d6803",
      "tree": "cac4fb42e8c60f1df1047aa910fba1a799f11c4c",
      "parents": [
        "b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 30 21:57:52 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 30 21:57:52 2016 +0100"
      },
      "message": "patch 8.0.0055\nProblem:    Minor comment and style deficiencies.\nSolution:   Update comments and fix style.\n"
    },
    {
      "commit": "cea912af725c54f4727a0565e31661f6b29c6bb1",
      "tree": "f48da16d68c229e22ff83fa31cc7337368875e3d",
      "parents": [
        "a7c023ec88233a2db4c1f53121921e110ece8d43"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 12 14:20:24 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 12 14:20:24 2016 +0200"
      },
      "message": "patch 8.0.0029\nProblem:    Code for MS-Windows is complicated because of the exceptions for\n            old systems.\nSolution:   Drop support for MS-Windows older than Windows XP. (Ken Takata)\n"
    },
    {
      "commit": "d5824ce1b5491df7d2eb0b66189d366fa67b4585",
      "tree": "c714124ce2cbbb424824917b9058da7cdf82cb9c",
      "parents": [
        "30180b8dad5c1478e7920e56a71352cb318fadb0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 04 20:35:01 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 04 20:35:01 2016 +0200"
      },
      "message": "patch 7.4.2326\nProblem:    Illegal memory access when Visual selection starts in invalid\n            position. (Dominique Pelle)\nSolution:   Correct position when needed.\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": "35a4cfa200917dd171b1fff3cd5b6cee9add673d",
      "tree": "e12d8aac31bfe6c651bb4f5553658203c817ea55",
      "parents": [
        "2d1a248762f069e470acde389ff4686a45d2f817"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 16:07:48 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 16:07:48 2016 +0200"
      },
      "message": "patch 7.4.2209\nProblem:    Cannot map \u003cM-\"\u003e. (Stephen Riehm)\nSolution:   Solve the memory access problem in another way. (Dominique Pelle)\n            Allow for using \u003cM-\\\"\u003e in a string.\n"
    },
    {
      "commit": "437bafe4c8a83ed71ee006eda7f54b65a90f0d4c",
      "tree": "dac9426b1bafe44f050bbb13c027de31117c089d",
      "parents": [
        "580164481924ed8611eb79f0247a0eb1ca0b3b9a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 15:40:54 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 15:40:54 2016 +0200"
      },
      "message": "patch 7.4.2137\nProblem:    Using function() with a name will find another function when it is\n            redefined.\nSolution:   Add funcref().  Refer to lambda using a partial.  Fix several\n            reference counting issues.\n"
    },
    {
      "commit": "623e263ffb998acacd6fd0de18c44e03af2a47d1",
      "tree": "d9db8377e5c762b97f715af27f115445f3a999c7",
      "parents": [
        "3ab14355ed93958433eec58e96ec9bd9a472f2b2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 30 22:47:56 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 30 22:47:56 2016 +0200"
      },
      "message": "patch 7.4.2130\nProblem:    Pending timers cause false memory leak reports.\nSolution:   Free all timers on exit.\n"
    },
    {
      "commit": "a06ecab7a5159e744448ace731036f0dc5f87dd4",
      "tree": "9474754ee4ef21fefea517d5fa2deae7c30c458d",
      "parents": [
        "bfafb4c4a01db3f8c508716daf689e0dfe92b649"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 16 14:47:36 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 16 14:47:36 2016 +0200"
      },
      "message": "patch 7.4.2048\nProblem:    There is still code and help for unsupported systems.\nSolution:   Remove the code and text. (Hirohito Higashi)\n"
    },
    {
      "commit": "7c0a2f367f2507669560b1a66423155c70d2e75b",
      "tree": "7cd0523311a25f653497197abc1fa86ed62bcc79",
      "parents": [
        "ea3f2e7be447a8f0c4436869620f908de5e8ef1e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 10 22:11:16 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 10 22:11:16 2016 +0200"
      },
      "message": "patch 7.4.2024\nProblem:    More buf_valid() calls can be optimized.\nSolution:   Use bufref_valid() instead.\n"
    },
    {
      "commit": "22fcfad29276bd5f317faf516637dcd491b96a12",
      "tree": "5787f5e2134b066406fd0d222c4f2f0d18e28024",
      "parents": [
        "8767f52fbfd4f053ce00a978227c95f1d7d323fe"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 18:17:26 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 18:17:26 2016 +0200"
      },
      "message": "patch 7.4.1976\nProblem:    Number variables are not 64 bits while they could be.\nSolution:   Add the num64 feature. (Ken Takata)\n"
    },
    {
      "commit": "8767f52fbfd4f053ce00a978227c95f1d7d323fe",
      "tree": "ac0cb33815d6e9d41f9b7a6b4ee4335e6076feaa",
      "parents": [
        "4a6c670b844a3ef9aec865a8216eaf363bab8721"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 17:17:39 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 17:17:39 2016 +0200"
      },
      "message": "patch 7.4.1975\nProblem:    On MS-Windows large files (\u003e 2Gbyte) cause problems.\nSolution:   Use \"off_T\" instead of \"off_t\".  Use \"stat_T\" instead of \"struct\n            stat\".  Use 64 bit system functions if available.  (Ken Takata)\n"
    },
    {
      "commit": "1d90a5a5af84250e226f8a9121e771f7b72aa894",
      "tree": "a389742a425e6f06966959bd744c96c3a4f296a3",
      "parents": [
        "6747fabc7348bf5f41ccfe851e2be3e900ec8ee0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 11:59:47 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 11:59:47 2016 +0200"
      },
      "message": "patch 7.4.1968\nProblem:    Invalid memory access with \"\\\u003cC-\"\u003e.\nSolution:   Do not recognize this as a special character. (Dominique Pelle)\n"
    },
    {
      "commit": "f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548",
      "tree": "eadfcc55dff51f143e33a228f91c9c60302fbd20",
      "parents": [
        "d388d2ac8bf8c770bf97dc406e99a20ba5104855"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 26 16:44:24 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 26 16:44:24 2016 +0200"
      },
      "message": "patch 7.4.1955\nProblem:    Using 32-bit Perl with 64-bit time_t causes memory corruption.\n            (Christian Brabandt)\nSolution:   Use time_T instead of time_t for global variables. (Ken Takata)\n"
    },
    {
      "commit": "945ec093cd4ddefab930239990564b12eb232153",
      "tree": "f0bbaf6b699d1d3e758e6b3a395413ef64d00742",
      "parents": [
        "5ce4a0b96ab688b1ea2481c2516e2889ff6713bf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 08 21:17:43 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 08 21:17:43 2016 +0200"
      },
      "message": "patch 7.4.1909\nProblem:    Doubled semicolons.\nSolution:   Reduce to one. (Dominique Pelle)\n"
    },
    {
      "commit": "b89a25f17e274dc308c584ea69a129ffbb26bc3d",
      "tree": "455bf3eab43488d41987e9e5ef1cebd50e099b71",
      "parents": [
        "3c809343c72d9964475f421fd03bb892bc584a51"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 01 23:08:39 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 01 23:08:39 2016 +0200"
      },
      "message": "patch 7.4.1868\nProblem:    Setting really_exiting causes memory leaks to be reported.\nSolution:   Add the in_free_all_mem flag.\n"
    },
    {
      "commit": "a96732150cda2f242133228579b05437a39b8daa",
      "tree": "d47ae09c2dfccdb4331471cecbc3b35b43aab0a4",
      "parents": [
        "9ad73239c26467832a5b553b2a4b99d7ffbaa25e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 01 22:21:06 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 01 22:21:06 2016 +0200"
      },
      "message": "patch 7.4.1866\nProblem:    Invalid memory access when exiting with EXITFREE defined.\n            (Dominique Pelle)\nSolution:   Set \"really_exiting\" and skip error messages.\n"
    },
    {
      "commit": "655da31a18ef3f888acf10e68b438e2a851f7b14",
      "tree": "83d8a9b03a2d926d7b94092e975a66f679fd1b70",
      "parents": [
        "d80629cef03cd40b0bf06c402dfe0b720b3bf608"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 28 22:22:34 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 28 22:22:34 2016 +0200"
      },
      "message": "patch 7.4.1855\nProblem:    Valgrind reports memory leak for job that is not freed.\nSolution:   Free all jobs on exit.  Add test for failing job.\n"
    },
    {
      "commit": "8b877ac38e96424a08a8b8eb713ef4b3cf0064be",
      "tree": "c72ac7aa90e66ad1e6d6c82fb27ab7d74de3eea9",
      "parents": [
        "ee1f7b3cb71684aaa9bf457e2caf9d02187e6b7c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 28 19:16:20 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 28 19:16:20 2016 +0200"
      },
      "message": "patch 7.4.1669\nProblem:    When writing buffer lines to a pipe Vim may block.\nSolution:   Avoid blocking, write more lines later.\n"
    },
    {
      "commit": "44a2f923c00f1384c9ecde12fb5b4711bc20702e",
      "tree": "ff48a0f263f488b023e5b4c7d45af05dade92e8f",
      "parents": [
        "cc6cf9b9f9045a7d8b5923ea0c556e9a4c2567d3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 19 22:11:51 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 19 22:11:51 2016 +0100"
      },
      "message": "patch 7.4.1611\nProblem:    The versplit feature makes the code uneccessary complicated.\nSolution:   Remove FEAT_VERTSPLIT, always support vertical splits when\n            FEAT_WINDOWS is defined.\n"
    },
    {
      "commit": "509ce2a558e7e0c03242e32e844255af52f1c821",
      "tree": "a79ac8c1e42f2f9eefa81016328194a346dade06",
      "parents": [
        "de27989157f35172b25f9e01e0c147ed8f6ae3ce"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 11 22:52:15 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 11 22:52:15 2016 +0100"
      },
      "message": "patch 7.4.1537\nProblem:    Too many feature flags for pipes, jobs and channels.\nSolution:   Only use FEAT_JOB_CHANNEL.\n"
    },
    {
      "commit": "2f6271b1e7cff985cac66f6850116bcf3fcccd58",
      "tree": "e19881c35030148e1c4981e8589b7c49bdddd23d",
      "parents": [
        "a86f14a923d9a242107c16d0852f61f3daf985a8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 29 21:20:48 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 29 21:20:48 2016 +0100"
      },
      "message": "patch 7.4.1462\nProblem:    Two more rarily used functions with errors.\nSolution:   Add proper argument types. (Dominique Pelle)\n"
    },
    {
      "commit": "48e330aff911be1c798c88a973af6437a8141fce",
      "tree": "4945b46753c6220ae5e8cd406d139e5640bd39c4",
      "parents": [
        "4e221c99e85ed40c98892068a01270b9e7492d98"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 14:53:34 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 14:53:34 2016 +0100"
      },
      "message": "patch 7.4.1399\nProblem:    The MS-DOS code does not build.\nSolution:   Remove the old MS-DOS code.\n"
    },
    {
      "commit": "ee1cffc07a42441924c5353af7fd7ab6e97e5aae",
      "tree": "f3d7bf205c1d93a2844352237ced27046d468a60",
      "parents": [
        "b7522a2f0ca6c970df37241c9e70024465d8596b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 21 19:14:41 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 21 19:14:41 2016 +0100"
      },
      "message": "patch 7.4.1380\nProblem:    The job exit callback is not implemented.\nSolution:   Add the \"exit-cb\" option.\n"
    },
    {
      "commit": "b7522a2f0ca6c970df37241c9e70024465d8596b",
      "tree": "67c9867f97c1339af9da874ff290a55a58bc9b21",
      "parents": [
        "65edff8f51e9e54f85407bdb9156ae8e3e1b76a1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 21 17:20:55 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 21 17:20:55 2016 +0100"
      },
      "message": "patch 7.4.1379\nProblem:    Channel test fails on Win32 console.\nSolution:   Don\u0027t sleep when timeout is zero. Call channel_wait() before\n            channel_read(). Channels are not polled during \":sleep\". (Yukihiro\n            Nakadaira)\n"
    },
    {
      "commit": "cf7164a088664961e7d70dd100c5874dc5ceb293",
      "tree": "93cf8f7643786a9cb9488852b73c1ef480031ee1",
      "parents": [
        "065bbac8adfe29a09958570237d223457f235c6c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 20 13:55:06 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 20 13:55:06 2016 +0100"
      },
      "message": "patch 7.4.1364\nProblem:    The Win 16 code is not maintained and unused.\nSolution:   Remove the Win 16 support.\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": "20fb9f346497daca4d19402fdfa5de7958642477",
      "tree": "a5f484e21e755b04f4e2ab195c8aac3e8c299daa",
      "parents": [
        "ba4ef2757cfc126f342b710f1ad9ea39e6b56cec"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 23:20:33 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 23:20:33 2016 +0100"
      },
      "message": "patch 7.4.1217\nProblem:    Execution of command on channel doesn\u0027t work yet.\nSolution:   Implement the \"ex\" and \"normal\" commands.\n"
    },
    {
      "commit": "ba4ef2757cfc126f342b710f1ad9ea39e6b56cec",
      "tree": "6cf877a8c549b74c010e51be5ca91cd436b39162",
      "parents": [
        "b638a7be952544ceb03052c25b84224577a6494b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 21:48:49 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 21:48:49 2016 +0100"
      },
      "message": "patch 7.4.1216\nProblem:    Still using HAVE_STDARG_H.\nSolution:   Assume it\u0027s always defined.\n"
    },
    {
      "commit": "9b57814db13c29ecb08260b36923c0e1c8a373a9",
      "tree": "518df78530838cc70b222930955e2c0522ddd393",
      "parents": [
        "52ea13da0fe86df1abf34de52841e367035170c0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 19:39:49 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 19:39:49 2016 +0100"
      },
      "message": "patch 7.4.1211\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": "b20e334859334be35de4b295023a2b49bdabbfa9",
      "tree": "adc41d9170de34857be2de9628d10174d1501766",
      "parents": [
        "61ff4dd6a4d47bd32383fe28087be2b37dec53f4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 18 23:29:01 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 18 23:29:01 2016 +0100"
      },
      "message": "patch 7.4.1131\nProblem:    New lines in the viminfo file are dropped.\nSolution:   Copy lines starting with \"|\".  Fix that when using :rviminfo in a\n            function global variables were restored as function-local\n            variables.\n"
    },
    {
      "commit": "58adb14739fa240ca6020cede9ab1f1cb07bd90a",
      "tree": "659dac4baa05f277c760ffe5f73f128c4ee20536",
      "parents": [
        "da440d21a6b94d7f525fa7be9b1417c78dd9aa4c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 16 21:50:51 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 16 21:50:51 2016 +0100"
      },
      "message": "patch 7.4.1108\nProblem:    Expanding \"~\" halfway a file name.\nSolution:   Handle the file name as one name. (Marco Hinz)  Add a test.\n            Closes #564.\n"
    },
    {
      "commit": "a260b87d9da17f605666630f18c1ed909c2b8bae",
      "tree": "03fb7aaf4b31ace780c4b040537e65c695b63457",
      "parents": [
        "3d6d5cc3a417c04d9772596ea83f8e6b41321781"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 15 20:48:22 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 15 20:48:22 2016 +0100"
      },
      "message": "patch 7.4.1096\nProblem:    Need several lines to verify a command produces an error.\nSolution:   Add assert_fails(). (suggested by Nikolay Pavlov)\n            Make the quickfix alloc test actually work.\n"
    },
    {
      "commit": "28fb79db6b52d1154e8dc63d227673648c2fce15",
      "tree": "4a1a10e264249d9851ffb9b7396ade0fc808fec6",
      "parents": [
        "44132a10aeb45c957959cafb4ac39d3f478be98c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 09 22:28:33 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 09 22:28:33 2016 +0100"
      },
      "message": "patch 7.4.1073\nProblem:    Alloc_id depends on numbers, may use the same one twice.  It\u0027s not\n            clear from the number what it\u0027s for.\nSolution:   Use an enum.  Add a function to lookup the enum value from the\n            name.\n"
    },
    {
      "commit": "5f24542e5eda590acdbee89b120fa2e19ec7596e",
      "tree": "4a19716237a78cc9972291544c16ad9ff3c2c4c2",
      "parents": [
        "71bcfdf30109c3d6e40d143adcaf33964b18a70b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 09 18:52:40 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 09 18:52:40 2016 +0100"
      },
      "message": "patch 7.4.1069\nProblem:    Compiler warning for unused argument.\nSolution:   Add UNUSED.\n"
    },
    {
      "commit": "285bf84b4b9aca828828a8729b04cd59ab333dac",
      "tree": "287c997dd02a830ec8b3c29e005d789cabbfced0",
      "parents": [
        "6602af7fe069246dbcf419c3e904a78b60e7d4dc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 07 22:34:01 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 07 22:34:01 2016 +0100"
      },
      "message": "patch 7.4.1061\nProblem:    Compiler warning for ignoring return value of fwrite().\nSolution:   Do use the return value. (idea: Charles Campbell)\n"
    },
    {
      "commit": "75bdf6aa30a5c99d67c42886cf7a4a000bbaa422",
      "tree": "e3e1a3fea418f892524eeec3cb0c2eaa31f5ad61",
      "parents": [
        "2b7db933b0418f3964da5399047ce8998007874c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 07 21:25:08 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 07 21:25:08 2016 +0100"
      },
      "message": "patch 7.4.1058\nProblem:    It is not possible to test code that is only reached when memory\n            allocation fails.\nSolution:   Add the alloc_fail() function.  Try it out with :vimgrep.\n"
    },
    {
      "commit": "887c1fea4a114e7170091942d0446c8882701b5b",
      "tree": "23173526918b54763e5eed1b26a7bdad3ac7884a",
      "parents": [
        "acf92d27c94811e3bd6b84cfd54246e91d44c355"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 02 17:56:35 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 02 17:56:35 2016 +0100"
      },
      "message": "patch 7.4.1027\nProblem:    No support for binary numbers.\nSolution:   Add \"bin\" to nrformats. (Jason Schulz)\n"
    },
    {
      "commit": "e7fedb6ebe72d9a475aa65109b77d5ed4667067a",
      "tree": "19327fc9d1ca538d9c5c81c7284adf492e790e6d",
      "parents": [
        "e3303cb0817e826e3c25d5dc4ac10b569d0841e1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 31 19:07:19 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 31 19:07:19 2015 +0100"
      },
      "message": "patch 7.4.1008\nProblem:    The OS/2 code pollutes the source while nobody uses it these days.\nSolution:   Drop the support for OS/2.\n"
    },
    {
      "commit": "43345546ae63710441f066648b8485fb545b3801",
      "tree": "6856441fbdb36ee40e5225b97b1e0e698fc72d62",
      "parents": [
        "48a969b48898fb08dce636c6b918408c6fbd3ea0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 29 17:35:35 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 29 17:35:35 2015 +0100"
      },
      "message": "patch 7.4.944\nProblem:    Writing tests for Vim script is hard.\nSolution:   Add assertEqual(), assertFalse() and assertTrue() functions.  Add\n            the v:errors variable.  Add the runtest script. Add a first new\n            style test script.\n"
    },
    {
      "commit": "8648357841065295e39831d2b559d87ca01a7a7c",
      "tree": "519b0f114a3e4d8256743ad2866f023b8988e1ed",
      "parents": [
        "174674743d9a2d7361c9cd89836f8dd8651edeeb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 10 19:04:23 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 10 19:04:23 2015 +0100"
      },
      "message": "patch 7.4.916\nProblem:    When running out of memory while copying a dict memory may be\n            freed twice. (ZyX)\nSolution:   Do not call the garbage collector when running out of memory.\n"
    },
    {
      "commit": "c79a5452acd695238798947e40086f9823c400e7",
      "tree": "40e16832af4e827bb20eeaf65c05eb7204bc26c4",
      "parents": [
        "ca63501fbcd1cf9c8aa9ff12c093c95b62a89ed7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 29 12:08:42 2015 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 29 12:08:42 2015 +0200"
      },
      "message": "patch 7.4.885\nProblem:    When doing an upwards search without wildcards the search fails if\n            the initial directory doesn\u0027t exist.\nSolution:   Fix the non-wildcard case. (Stefan Kempf)\n"
    },
    {
      "commit": "4d0c7bc74ac6fad5cb599dc3ade6996e848d83b6",
      "tree": "08b12183ff166ec76ffdcfbf4b147b5501f124e4",
      "parents": [
        "b0262f239e77480f81fa3345491b7b6d52a17f6d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 25 16:38:01 2015 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 25 16:38:01 2015 +0200"
      },
      "message": "patch 7.4.877\nProblem:    \":find\" sometimes fails. (Excanoe)\nSolution:   Compare current characters instead of previous ones.\n"
    },
    {
      "commit": "9534680731ea342c2fed01a812559958923480da",
      "tree": "a44dee71d6a0ebff4f71d9e0dbd2d81d342341d1",
      "parents": [
        "93c88e0f6a4a8f7634ed84721daf4af46fc0d5db"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 15 15:57:29 2015 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 15 15:57:29 2015 +0200"
      },
      "message": "patch 7.4.867\nProblem:    Can\u0027t build on MS-Windows. (Taro Muraoka)\nSolution:   Adjust #ifdef.\n"
    },
    {
      "commit": "93c88e0f6a4a8f7634ed84721daf4af46fc0d5db",
      "tree": "b325606d26d69c3804a9007cf7d1fa4a8034f4aa",
      "parents": [
        "ed84b76021df763619cabaedddc44eb5ee849136"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 15 14:12:05 2015 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 15 14:12:05 2015 +0200"
      },
      "message": "patch 7.4.866\nProblem:    Crash when changing the \u0027tags\u0027 option from a remote command.\n            (Benjamin Fritz)\nSolution:   Instead of executing messages immediately, use a queue, like for\n            netbeans. (James Kolb)\n"
    },
    {
      "commit": "d43f0951bca162d4491d57df9277b5dbc462944f",
      "tree": "991fb61c507ad6a26a63b735118c07ca442e93f4",
      "parents": [
        "cdf0442d009ea97fad06d72231f7de309c75205a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 27 22:30:47 2015 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 27 22:30:47 2015 +0200"
      },
      "message": "patch 7.4.843\nProblem:    Still possible to go beyond the end of a string.\nSolution:   Check for NUL also in second string. (Dominique Pelle)\n"
    },
    {
      "commit": "f6470c288cb6f8efd60a507baf2c070f9d209ae6",
      "tree": "9cce4dad7812c2537f5a613abd547de61c655ee8",
      "parents": [
        "7e47d1ac6a9ae0e5a7167aa34ff651a9c39c1641"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 25 16:31:40 2015 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 25 16:31:40 2015 +0200"
      },
      "message": "patch 7.4.835\nProblem:    Comparing utf-8 sequences does not handle different byte sizes\n            correctly.\nSolution:   Get the byte size of each character. (Dominique Pelle)\n"
    }
  ],
  "next": "2536d4f396680f079e2cb96f9787a434846b5ce7"
}
