)]}'
{
  "log": [
    {
      "commit": "46a53dfc29689c6a0d80e3820e8b0a48dba6b6ec",
      "tree": "5ad1a9ee29f54608ea20a0a77581bf21f760d770",
      "parents": [
        "b255b90503a986931904c23dafb5b6d4e512a17e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 24 21:58:51 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 24 21:58:51 2018 +0200"
      },
      "message": "patch 8.0.1763: :argedit does not reuse an empty unnamed buffer\n\nProblem:    :argedit does not reuse an empty unnamed buffer.\nSolution:   Add the BLN_CURBUF flag and fix all the side effects. (Christian\n            Brabandt, closes #2713)\n"
    },
    {
      "commit": "1c17ffa4611f4efe68c61f7cdd9ed692a866ba75",
      "tree": "009f678c60ced89e9f9185f848fb03fcd06d0b25",
      "parents": [
        "a2aa8a2b22de909619d7faa3ff5383a6224defc5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 24 15:19:04 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 24 15:19:04 2018 +0200"
      },
      "message": "patch 8.0.1753: various warnings from a static analyser\n\nProblem:    Various warnings from a static analyser\nSolution:   Add type casts, remove unneeded conditions. (Christian Brabandt,\n            closes #2770)\n"
    },
    {
      "commit": "405dadb63ea2b7aa4c8c659807506a35a8a9504c",
      "tree": "b051a9c2a2f0274d6357d7b6ecce173fdf5fd639",
      "parents": [
        "7dda86f2ff35bb80afce4da24782fd58216bbe50"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 20 22:48:58 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 20 22:48:58 2018 +0200"
      },
      "message": "patch 8.0.1740: warning for signed-unsigned incompatibility\n\nProblem:    Warning for signed-unsigned incompatibility.\nSolution:   Change type from \"char *\" to \"char_u *\". (John Marriott)\n"
    },
    {
      "commit": "5d69da462f584a3aefb3427b127334bf9af3a4b0",
      "tree": "05427fccf4d57a03629b4f45b8cae2d5b10c9cea",
      "parents": [
        "02e802b2da9e25b5824185976b163691b5bbd558"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 20 22:01:41 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 20 22:01:41 2018 +0200"
      },
      "message": "patch 8.0.1738: \":args\" output is hard to read\n\nProblem:    \":args\" output is hard to read.\nSolution:   Make columns with the names if the output is more than one line.\n"
    },
    {
      "commit": "f98a39ca57d001ba3e24831bae1e375790fb41f0",
      "tree": "fded5ab3d82a0600c94cfbd3cdab9c9475acbdeb",
      "parents": [
        "bad0ce7b26be5eed8524347018f4c835b212f8d1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 18 22:18:23 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 18 22:18:23 2018 +0200"
      },
      "message": "patch 8.0.1734: package directory not added to \u0027rtp\u0027 if prefix matches\n\nProblem:    Package directory not added to \u0027rtp\u0027 if prefix matches.\nSolution:   Check the match is a full match. (Ozaki Kiichi, closes #2817)\n            Also handle different ways of spelling a path.\n"
    },
    {
      "commit": "0c72fe4ed8430db41f43c5878e6ee60265dc49e9",
      "tree": "1ed985dcd639fe0d976103599009ff835cd7043a",
      "parents": [
        "cd43effecab02c6c28b1c4a3a14f91b8c3f26c0d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 29 16:04:08 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 29 16:04:08 2018 +0200"
      },
      "message": "patch 8.0.1650: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_LISTCMDS, no reason to leave out buffer commands.\n"
    },
    {
      "commit": "cd43effecab02c6c28b1c4a3a14f91b8c3f26c0d",
      "tree": "c1ff349ca80fe49e0070b1366c4cfb5aad448590",
      "parents": [
        "1b2f61e732a961c1345bf3bb6826c1caa870c10d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 29 15:55:38 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 29 15:55:38 2018 +0200"
      },
      "message": "patch 8.0.1649: no completion for argument list commands\n\nProblem:    No completion for argument list commands.\nSolution:   Add arglist completion. (Yegappan Lakshmanan, closes #2706)\n"
    },
    {
      "commit": "25cdd9c33b21ddbd31321c075873bb225450d2d2",
      "tree": "380538cdf0abb9b7f3777c57ada6930930c9e036",
      "parents": [
        "b5b7562475ad032a174b893286172de0d2c157cd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 10 20:28:12 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 10 20:28:12 2018 +0100"
      },
      "message": "patch 8.0.1593: :qall never exits with an active terminal window\n\nProblem:    :qall never exits with an active terminal window.\nSolution:   Add a way to kill a job in a terminal window.\n"
    },
    {
      "commit": "8a3bb56230d220b8e1b4dcca517ed95f5341b8c7",
      "tree": "e1d195050f92f44fc1993ca016c07611cb6faaa7",
      "parents": [
        "107279c17b3a21899e0a9d0293ada040216539ba"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 04 20:14:14 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 04 20:14:14 2018 +0100"
      },
      "message": "patch 8.0.1566: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_SCROLLBIND and FEAT_CURSORBIND.\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": "7a76092a51fc5446426a4bfd9eb6503ec61bf9e9",
      "tree": "8611ab3fbe9f232764ad5a9dc944c0c8aed807e3",
      "parents": [
        "9c8816bd306a003c2ac3dce161be3fef481c9902"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 19 23:10:02 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 19 23:10:02 2018 +0100"
      },
      "message": "patch 8.0.1525: using :wqa exits even if a job runs in a terminal window\n\nProblem:    Using :wqa exits even if a job runs in a terminal window. (Jason\n            Felice)\nSolution:   Check if a terminal has a running job. (closes #2654)\n"
    },
    {
      "commit": "3198870137df64214317151726648af8e56f1729",
      "tree": "3289a72b287693be57b6484ba463176c96ecb377",
      "parents": [
        "b48e96f61c87a64e38e3ac50732c92a84a4833b8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 13 12:57:42 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 13 12:57:42 2018 +0100"
      },
      "message": "patch 8.0.1511: some code for the debugger watch expression is clumsy\n\nProblem:    Some code for the debugger watch expression is clumsy.\nSolution:   Clean up the code.\n"
    },
    {
      "commit": "5a656864a0610547da28e0c8c1649ecd1d782948",
      "tree": "0e1ac6d440a00142418f5db8142a442e945da2de",
      "parents": [
        "bfbea567d89fdaa08ed987fd80daa53a6ce399d1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 12 22:08:06 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 12 22:08:06 2018 +0100"
      },
      "message": "patch 8.0.1508: the :drop command is not always available\n\nProblem:    The :drop command is not always available.\nSolution:   Include :drop in all builds. (Yasuhiro Matsumoto, closes #2639)\n"
    },
    {
      "commit": "c6f9f739d32084923c3031cbf6f581f8c8bf7fd2",
      "tree": "4f20ee6cbf98f72b164337f14251020ecc07d410",
      "parents": [
        "c33ecb291518044f661c5fc10b704fc718321794"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 11 19:06:26 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 11 19:06:26 2018 +0100"
      },
      "message": "patch 8.0.1505: debugger can\u0027t break on a condition\n\nProblem:    Debugger can\u0027t break on a condition. (Charles Campbell)\nSolution:   Add \":breakadd expr\". (Christian Brabandt, closes #859)\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": "2374faae111057ee28e8d487f9a52a95855e2206",
      "tree": "8a6ca87c7b8125acce0ed90200133619d8950672",
      "parents": [
        "191f18bad0b5c48afa05c3e8a00f3ced993f6a38"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 04 17:47:42 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 04 17:47:42 2018 +0100"
      },
      "message": "patch 8.0.1469: when package path is a symlink \u0027runtimepath\u0027 is wrong\n\nProblem:    When package path is a symlink adding it to \u0027runtimepath\u0027 happens\n            at the end.\nSolution:   Do not resolve symlinks before locating the position in\n            \u0027runtimepath\u0027. (Ozaki Kiichi, closes #2604)\n"
    },
    {
      "commit": "9e1d399e63903c6f84d7888ad8d84ebf4e29d8a1",
      "tree": "9f53ab0a76bcc0a8c7f05e3863f724fc126e89a0",
      "parents": [
        "890dd05492d88d48eee1dda7f7a1811d027ce7ca"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 17 14:26:46 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 17 14:26:46 2017 +0100"
      },
      "message": "patch 8.0.1398: :packadd does not load packages from the \"start\" directory\n\nProblem:    :packadd does not load packages from the \"start\" directory.\n            (Alejandro Hernandez)\nSolution:   Make :packadd look in the \"start\" directory if those packages were\n            not loaded on startup.\n"
    },
    {
      "commit": "ac112f01a6930c9d15cf0360b657373699916bfd",
      "tree": "716c6cd53266a5e69aab17a3c2a4545d1acb59ce",
      "parents": [
        "feeb4d0901c7b16958e8f02ffcdac83b605b0b43"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 05 16:46:28 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 05 16:46:28 2017 +0100"
      },
      "message": "patch 8.0.1372: profile log may be truncated halfway a character\n\nProblem:    Profile log may be truncated halfway a character.\nSolution:   Find the start of the character. (Ozaki Kiichi, closes #2385)\n"
    },
    {
      "commit": "c3719bd87beca9f72d2e9f11e36d561c2c3b57b0",
      "tree": "2ca909ca8d4a040e48cc484b2ae7512014d3eaf0",
      "parents": [
        "c7d16dce2f180c8ebfc8105ad090b0ea2deedcdc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 18 22:13:31 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 18 22:13:31 2017 +0100"
      },
      "message": "patch 8.0.1312: balloon_show() only works in terminal when compiled with GUI\n\nProblem:    balloon_show() only works in terminal when compiled with the GUI.\nSolution:   Add FEAT_BEVAL_GUI and refactor to move common code out of the GUI\n            specific file.\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": "d99388ba8535a6fecf7d0bf7b982832c0b816062",
      "tree": "476c1942e2c2e604001ba712cfea4af8df49a0d4",
      "parents": [
        "6ce650480844bfaa5410874416b4a2e15f40b870"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 26 14:28:32 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 26 14:28:32 2017 +0200"
      },
      "message": "patch 8.0.1217: can\u0027t use remote eval to inspect vars in debug mode\n\nProblem:    Can\u0027t use remote eval to inspect vars in debug mode.\nSolution:   Don\u0027t discard the call stack in debug mode. (closes #2237, #2247)\n"
    },
    {
      "commit": "67435d9983965c5c77fc74f0559779ce4554dacb",
      "tree": "ff45ed1b00544acfd9c6b1aac58eceff561e70bf",
      "parents": [
        "fafcf0dd59fd9c4ef743bb333ae40d1d322b6079"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 19 21:04:37 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 19 21:04:37 2017 +0200"
      },
      "message": "patch 8.0.1207: profiling skips the first and last script line\n\nProblem:    Profiling skips the first and last script line.\nSolution:   Check for BOM after setting script ID. (Lemonboy, closes #2103,\n            closes #2112) Add a test. List the trailing script lines.\n"
    },
    {
      "commit": "a8e93d63e308020ee06eb5782e766941ac417a5a",
      "tree": "e774e33ffe42f01f2827b0cd2fc87a4c30ebf909",
      "parents": [
        "71b29640669872b0209985fc5a3b447de62a4cf0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 18 21:50:47 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 18 21:50:47 2017 +0200"
      },
      "message": "patch 8.0.1127: Test_peek_and_get_char fails on 32 bit system\n\nProblem:    Test_peek_and_get_char fails on 32 bit system. (Eliminate\n            Riesebieter)\nSolution:   Avoid an integer overflow. (James McCoy, closes #2116)\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": "f5291f301e9322545f0621b2157e93050d1d4fb3",
      "tree": "64be20f0ac902e1b1a4cf2570ee1a4d5dde0cb14",
      "parents": [
        "69fbc9e1dab176f345719436cd89d854df0a2abd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 14 22:55:37 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 14 22:55:37 2017 +0200"
      },
      "message": "patch 8.0.1109: timer causes error on exit from Ex mode\n\nProblem:    Timer causes error on exit from Ex mode. (xtal8)\nSolution:   save and restore the ex_pressedreturn flag. (Christian Brabandt,\n            closes #2079)\n"
    },
    {
      "commit": "e723c42836d971180d1bf9f98916966c5543fff1",
      "tree": "eced5c296dc3ea756078cb48cfdfe95f3f5d0446",
      "parents": [
        "2e49b6b20c3d7229edf41ac03931ce32ce0f7bd8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 06 23:40:10 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 06 23:40:10 2017 +0200"
      },
      "message": "patch 8.0.1067: try/catch in timer does not prevent it from being stopped\n\nProblem:    Using try/catch in timer does not prevent it from being stopped.\nSolution:   Reset the exception context and use did_emsg instead of\n            called_emsg.\n"
    },
    {
      "commit": "02e177d3e85e089ebdfba1a7d937150cffcb287a",
      "tree": "8dd39ac4f0b474700a6f0935c98ac2fa99586fe8",
      "parents": [
        "0903d56f5ca69bb1fa0bbb00ed2a3d9c4d06ddb4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 26 23:43:28 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 26 23:43:28 2017 +0200"
      },
      "message": "patch 8.0.1002: unnecessarily updating screen after timer callback\n\nProblem:    Unnecessarily updating screen after timer callback.\nSolution:   Check if calling the timer sets must_redraw.\n"
    },
    {
      "commit": "3f9a1ff141412e9e85f7dff47d02946cb9be9228",
      "tree": "4af2e9ce0e9575ccd166552ff441f77508c3ea90",
      "parents": [
        "740c433c5909e3118dc4a7c42028f8a8b78a353b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 21 22:06:02 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 21 22:06:02 2017 +0200"
      },
      "message": "patch 8.0.0983: unnecessary check for NULL pointer\n\nProblem:    Unnecessary check for NULL pointer.\nSolution:   Remove the NULL check in dialog_changed(), it already happens in\n            dialog_msg(). (Ken Takata)\n"
    },
    {
      "commit": "f5be7cd01642fafc4b7d68894eb60cca60c7a405",
      "tree": "bcbb7f2839092ec9b2d68b4d30b2678efff71d99",
      "parents": [
        "a83e3962ac0e4bbfef15a072ad9a7390fc255409"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 17 16:55:13 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 17 16:55:13 2017 +0200"
      },
      "message": "patch 8.0.0953: get \"no write since last change\" error in terminal window\n\nProblem:    Get \"no write since last change\" error in terminal window.\nSolution:   Use another message when closing a terminal window. Make \":quit!\"\n            also end the job.\n"
    },
    {
      "commit": "ab6c8587ba846d08cd70e7b225c4952a468fc1e8",
      "tree": "50816eab3c395774fb4523fca0855d00f625f3f4",
      "parents": [
        "2d33e90f81334eee34275a259444434abf56250f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 11 17:15:09 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 11 17:15:09 2017 +0200"
      },
      "message": "patch 8.0.0900: :tab options doesn\u0027t open a new tab page\n\nProblem:    :tab options doesn\u0027t open a new tab page. (Aviany)\nSolution:   Support the :tab modifier. (closes #1960)\n"
    },
    {
      "commit": "eb44a68b42eda207a5bc4def9ea8fc4d38acb650",
      "tree": "6fae22aba3c4f1eaad8e6d5e4d74df201c78a65e",
      "parents": [
        "620d064b0b0bca2268574abdec2d8eac3384cfdf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 22:44:55 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 22:44:55 2017 +0200"
      },
      "message": "patch 8.0.0858: can exit while a terminal is still running a job\n\nProblem:    Can exit while a terminal is still running a job.\nSolution:   Consider a buffer with a running job like a changed file.\n"
    },
    {
      "commit": "398ee7326b78b892a5c8380dfe3f2521a64b4fa7",
      "tree": "8384cc670e56f2178474c5062b85d0c97b1cc87b",
      "parents": [
        "7c9aec4ac86ccc455c0859d9393253141e3f77b6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 14:29:14 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 14:29:14 2017 +0200"
      },
      "message": "patch 8.0.0847: :argadd without argument can\u0027t handle space in file name\n\nProblem:    :argadd without argument can\u0027t handle space in file name. (Harm te\n            Hennepe)\nSolution:   Escape the space. (Yasuhiro Matsumoto, closes #1917)\n"
    },
    {
      "commit": "90305c66a8637ea43a6509c7ab597734dd218365",
      "tree": "355ef583c5c9f79a4f5849c087ba270728e402bf",
      "parents": [
        "6a77d2667e982655f6adacee774ee7aa2581bd8a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 16 15:31:17 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 16 15:31:17 2017 +0200"
      },
      "message": "patch 8.0.0721: :argedit can only have one argument\n\nProblem:    :argedit can only have one argument.\nSolution:   Allow for multiple arguments. (Christian Brabandt)\n"
    },
    {
      "commit": "cae24be4a808d60313913cc6feea6c2bee2e2a42",
      "tree": "5759bd8d564c2160ac7ab204cc3da7cc9ed32ba9",
      "parents": [
        "163095f088a7c29710a16c75bb56229dd3b4116a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 10 22:12:10 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 10 22:12:10 2017 +0200"
      },
      "message": "patch 8.0.0705: crash when there is an error in a timer callback\n\nProblem:    Crash when there is an error in a timer callback. (Aron Griffis,\n            Ozaki Kiichi)\nSolution:   Check did_throw before discarding an exception.  NULLify\n            current_exception when no longer valid.\n"
    },
    {
      "commit": "c577d813b7978345dec4310b2d8f5d5624a681f6",
      "tree": "662bfda985692d778505c74d5c512201e1265362",
      "parents": [
        "11e79bb04ea635d180dd79b1d5cbc755b56e66e1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 08 22:37:34 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 08 22:37:34 2017 +0200"
      },
      "message": "patch 8.0.0702: an error in a timer can make Vim unusable\n\nProblem:    An error in a timer can make Vim unusable.\nSolution:   Don\u0027t set the error flag or exception from a timer.  Stop a timer\n            if it causes an error 3 out of 3 times.  Discard an exception\n            caused inside a timer.\n"
    },
    {
      "commit": "c4f833808af930505017c9389d44a828601e247c",
      "tree": "577f9425a910a666e2d6d8cad51a411460ec8cca",
      "parents": [
        "8858498516108432453526f07783f14c9196e112"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 07 14:50:44 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 07 14:50:44 2017 +0200"
      },
      "message": "patch 8.0.0698: crash on exit when using Python function in timer.\n\nProblem:    When a timer uses \":pyeval\" or another Python command and it\n            happens to be triggered while exiting a Crash may happen.\n            (Ricky Zhou)\nSolution:   Avoid running a Python command after python_end() was called.\n            Do not trigger timers while exiting.  (closes #1824)\n"
    },
    {
      "commit": "07ecfa64a18609a986f21d6132d04ee8934f3200",
      "tree": "310133eeb745e650be5406b1eeb5999aa6741421",
      "parents": [
        "41cc038ff83498c589c7d25b3d2984145528eb92"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 27 14:43:55 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 27 14:43:55 2017 +0200"
      },
      "message": "patch 8.0.0680: plugins in start packages are sourced twice\n\nProblem:    Plugins in start packages are sourced twice. (mseplowitz)\nSolution:   Use the unmodified runtime path when loading plugins (test by Ingo\n            Karkat, closes #1801)\n"
    },
    {
      "commit": "1e8e14552e0cc8881411eb8fbe39a654dae42554",
      "tree": "f28d457d94b1ac4db1fe700f23bb31d428e674d5",
      "parents": [
        "24a9e348aa88a6c60ae0cdf5c4a777d8c03b08ca"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 24 16:03:06 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 24 16:03:06 2017 +0200"
      },
      "message": "patch 8.0.0670: can\u0027t use input() in a timer callback\n\nProblem:    Can\u0027t use input() in a timer callback. (Cosmin Popescu)\nSolution:   Reset vgetc_busy and set timer_busy. (Ozaki Kiichi, closes #1790,\n            closes #1129)\n"
    },
    {
      "commit": "ce876aaa9a250a5a0d0e34b3a2625e51cf9bf5bb",
      "tree": "866d4fce5780c8a1df41501a65596238abc9dcc9",
      "parents": [
        "976787d1f31451ca7a88e774a03e6c24ddc67876"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 04 17:47:42 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 04 17:47:42 2017 +0200"
      },
      "message": "patch 8.0.0612: pack dirs are added to \u0027runtimepath\u0027 too late\n\nProblem:    Package directories are added to \u0027runtimepath\u0027 only after loading\n            non-package plugins.\nSolution:   Split off the code to add package directories to \u0027runtimepath\u0027.\n            (Ingo Karkat, closes #1680)\n"
    },
    {
      "commit": "8820b48654b62472821d9b155fe03ab7ac13a05c",
      "tree": "7783a4068aee8368661722d5171d33a4d410d6bb",
      "parents": [
        "40ebc0afda8d8e478d2090133ed6a3cd3d8da3ec"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 17:23:31 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 17:23:31 2017 +0100"
      },
      "message": "patch 8.0.0466: still macros that should be all-caps\n\nProblem:    There are still a few macros that should be all-caps.\nSolution:   Make a few more macros all-caps.\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": "69a92fb5aecdf2f9d5f6947790b18991b22d0e4c",
      "tree": "9f5510a1c9fe6449d7f9a29a1bf9507095ec42b3",
      "parents": [
        "056f700031602a2734b1ddf45f6bc2817e49b996"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 09 15:58:30 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 09 15:58:30 2017 +0100"
      },
      "message": "patch 8.0.0439: \":%argdel\" gives an error for an empty arglist\n\nProblem:    Using \":%argdel\" while the argument list is already empty gives an\n            error. (Pavol Juhas)\nSolution:   Don\u0027t give an error. (closes #1546)\n"
    },
    {
      "commit": "2f9e575583c2ad3978ee3d0f790eeff7df56bd6c",
      "tree": "94bb8b22f774a8605319032cdc3915d984384cfa",
      "parents": [
        "955f198fc546cc30a34361932d3f454a61df0efa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 05 16:07:54 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 05 16:07:54 2017 +0100"
      },
      "message": "patch 8.0.0308: \u0027runtimepath\u0027 not update correctly when using symbolic link\n\nProblem:    When using a symbolic link, the package path will not be inserted\n            at the right position in \u0027runtimepath\u0027. (Dugan Chen, Norio Takagi)\nSolution:   Resolve symbolic links when finding the right position in\n            \u0027runtimepath\u0027. (Hirohito Higashi)\n"
    },
    {
      "commit": "f42dd3c3901ea0ba38e67a616aea9953cae81b8d",
      "tree": "3626ca40161dbfaa5e72a4dbeaa46b24480ddc8c",
      "parents": [
        "0c0590d9827cb07a33c1552cb3558b94bddcb4dc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 28 16:06:38 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 28 16:06:38 2017 +0100"
      },
      "message": "patch 8.0.0251: not easy to select Python 2 or 3\n\nProblem:    It is not so easy to write a script that works with both Python 2\n            and Python 3, even when the Python code works with both.\nSolution:   Add \u0027pyxversion\u0027, :pyx, etc. (Marc Weber, Ken Takata)\n"
    },
    {
      "commit": "b8f7bd68f6fdff51ca4db5b145dcde42ee7b804b",
      "tree": "6b3315e3bd54512e79c1e3858bea9016bb1b27f0",
      "parents": [
        "a1fa8929395351f03c56f50ca6e891d825123c0f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 12 20:28:25 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 12 20:28:25 2017 +0100"
      },
      "message": "patch 8.0.0174: executing \"locale -a\" on MS-Windows needlessly\n\nProblem:    For completion \"locale -a\" is executed on MS-Windows, even though\n            it most likely won\u0027t work.\nSolution:   Skip executing \"locale -a\" on MS-Windows. (Ken Takata)\n"
    },
    {
      "commit": "a7c023ec88233a2db4c1f53121921e110ece8d43",
      "tree": "79ffc0e8ac91dd74ae4c081f0db91a84fa5d1e56",
      "parents": [
        "dc08328821a2c11e33dfb1980332e4923ec64fca"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 12 12:13:35 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 12 12:13:35 2016 +0200"
      },
      "message": "patch 8.0.0028\nProblem:    Superfluous semicolons.\nSolution:   Remove them. (Ozaki Kiichi)\n"
    },
    {
      "commit": "ee39ef0b93d31763d05e54ba99801e3f1a254c0d",
      "tree": "365f8dbee248b74e8f305e78d865f3e43fb2a8fd",
      "parents": [
        "80c3fd7c559c7d329d57afe10db9bfb0adf10e46"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 10 19:17:42 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 10 19:17:42 2016 +0200"
      },
      "message": "patch 7.4.2361\nProblem:    Checking for last_timer_id to overflow is not reliable. (Ozaki\n            Kiichi)\nSolution:   Check for the number not going up.\n"
    },
    {
      "commit": "75537a93e985ef32e6c267b06ce93629855dd983",
      "tree": "80759514ecc4498257f04f3d23e82d8be31b8e6d",
      "parents": [
        "33a80eeb859a78ba93432da6fa585786cfd77249"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 05 22:45:28 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 05 22:45:28 2016 +0200"
      },
      "message": "patch 7.4.2332\nProblem:    Crash when stop_timer() is called in a callback of a callback.\n            Vim hangs when the timer callback uses too much time.\nSolution:   Set tr_id to -1 when a timer is to be deleted. Don\u0027t keep calling\n            callbacks forever. (Ozaki Kiichi)\n"
    },
    {
      "commit": "a5d4121eed942bbbc672a7b00bf20866c17dc858",
      "tree": "2bf20302ef42c197e2d7e0592e8da73eb58d9f6b",
      "parents": [
        "11fbc2866ccc11b4dd1726abdaf582a78ef3f743"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 02 22:18:49 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 02 22:18:49 2016 +0200"
      },
      "message": "patch 7.4.2310\nProblem:    Accessing freed memory when a timer does not repeat.\nSolution:   Free after removing it. (Dominique Pelle)\n"
    },
    {
      "commit": "417ccd7138d4d230d328de8b0d3892dd82ff1bee",
      "tree": "9dbbb0b04dd9a3eba03b1d949348d1616b878aef",
      "parents": [
        "779f2fc3a7468e273897d2fd0672315812a2e3da"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 01 21:26:20 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 01 21:26:20 2016 +0200"
      },
      "message": "patch 7.4.2304\nProblem:    In a timer callback the timer itself can\u0027t be found or stopped.\n            (Thinca)\nSolution:   Do not remove the timer from the list, remember whether it was\n            freed.\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": "a772ec5e91efbd5c4b99bb5cf5704a6c6f0baf3f",
      "tree": "e18f7f8fcf77fee3a8a795c71df2eba4a66f7cc6",
      "parents": [
        "b73598e2f022a22fec512ea681c70d2775e8fd87"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 07 20:20:50 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 07 20:20:50 2016 +0200"
      },
      "message": "patch 7.4.2181\nProblem:    Compiler warning for unused variable.\nSolution:   Remove it. (Dominique Pelle)\n"
    },
    {
      "commit": "b73598e2f022a22fec512ea681c70d2775e8fd87",
      "tree": "c233c50104f05d5e4830d56f7f04ce7d6f1e2fad",
      "parents": [
        "e4a76ad0e74a31bbd9f1b1ac5b816d714d19a412"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 07 18:22:53 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 07 18:22:53 2016 +0200"
      },
      "message": "patch 7.4.2180\nProblem:    There is no easy way to stop all timers.  There is no way to\n            temporary pause a timer.\nSolution:   Add timer_stopall() and timer_pause().\n"
    },
    {
      "commit": "00ff380295338eedb6138ce87590cc6bed102e9d",
      "tree": "967fed31073ad3fe0e802bd3e72f06c04b3cd3e3",
      "parents": [
        "8e97bd74b5377753597e3d98e7123d8985c7fffd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 06 22:27:28 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 06 22:27:28 2016 +0200"
      },
      "message": "patch 7.4.2171\nProblem:    MS-Windows build fails.\nSolution:   Add QueryPerformanceCounter().\n"
    },
    {
      "commit": "8e97bd74b5377753597e3d98e7123d8985c7fffd",
      "tree": "25d909a542f5a015aa92d00512e46f1fb72f1ab4",
      "parents": [
        "446cce6d537b036467033975a86729dbdc83f860"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 06 22:05:07 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 06 22:05:07 2016 +0200"
      },
      "message": "patch 7.4.2170\nProblem:    Cannot get information about timers.\nSolution:   Add timer_info().\n"
    },
    {
      "commit": "66459b7c98c67f8a9d39de8f08e8e8f1fca0e359",
      "tree": "5e61d00ee66ba009f17ad1d490ce810ae89e6c2b",
      "parents": [
        "d76a0c15f8bdbc901015879177fd5076d34c7a06"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 06 19:01:55 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 06 19:01:55 2016 +0200"
      },
      "message": "patch 7.4.2164\nProblem:    It is not possible to use plugins in an \"after\" directory to tune\n            the behavior of a package.\nSolution:   First load plugins from non-after directories, then packages and\n            finally plugins in after directories.\n            Reset \u0027loadplugins\u0027 before executing --cmd arguments.\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": "1e96d9bf98f9ab84d5af7f98d6a961d91b17364f",
      "tree": "dd81c13eb8896eb9b5c3a5f311eefdd39829c907",
      "parents": [
        "83a2a80d6f699ad9a236431170038698e355c025"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 29 22:15:09 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 29 22:15:09 2016 +0200"
      },
      "message": "patch 7.4.2119\nProblem:    Closures are not supported.\nSolution:   Capture variables in lambdas from the outer scope. (Yasuhiro\n            Matsumoto, Ken Takata)\n"
    },
    {
      "commit": "2932359000b2f918d5fade79ea4d124d5943cd07",
      "tree": "1ca4fa98569a4d20ce066c7d6254404bcf431b47",
      "parents": [
        "6835dc61aebca2b602d85a9d63c449ace58683b4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 24 22:04:11 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 24 22:04:11 2016 +0200"
      },
      "message": "patch 7.4.2101\nProblem:    Looping over windows, buffers and tab pages is inconsistant.\nSolution:   Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)\n"
    },
    {
      "commit": "df48fb456fb6bf63d94cad9b302ff01d8ee8d311",
      "tree": "e40ac7facad1b205bf5990a535c8c1686fbeb05b",
      "parents": [
        "36edf0685c8b55ee3ce709058d83ada8027fec1e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 22 21:50:18 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 22 21:50:18 2016 +0200"
      },
      "message": "patch 7.4.2090\nProblem:    Using submatch() in a lambda passed to substitute() is verbose.\nSolution:   Use a static list and pass it as an optional argument to the\n            function.  Fix memory leak.\n"
    },
    {
      "commit": "1436d8d51cce114be56209924fc71376407e5bad",
      "tree": "c6ba6f27b14db303429e2e50ce3645ed865a765c",
      "parents": [
        "da3a77d9ec28407b8fa2aa014e76944d0a525662"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 11 22:41:15 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 11 22:41:15 2016 +0200"
      },
      "message": "patch 7.4.2026\nProblem:    Reference counting for callbacks isn\u0027t right.\nSolution:   Add free_callback(). (Ken Takata)  Fix reference count.\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": "fef524bbff9aa186838c35212b2f89f61d627cf8",
      "tree": "fcdbba54905b31448b772327ae2f557434199dd7",
      "parents": [
        "3b98b830017b8bf5fd270db93dfe187434df1960"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 02 22:07:22 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 02 22:07:22 2016 +0200"
      },
      "message": "patch 7.4.1986\nProblem:    Compiler warns for loss of data.\nSolution:   Use size_t instead of int. (Christian Brabandt)\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": "4c5717ed8a81f5ae9dfe4f38b17a61fc8421054b",
      "tree": "f3ddf7e9696b5479a4b785ba44f1215db211c2c0",
      "parents": [
        "40de45664c20e7ca46a28a3f472202f90e47f8bf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 15:39:40 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 15:39:40 2016 +0200"
      },
      "message": "patch 7.4.1973\nProblem:    On MS-Windows the package directory may be added at the end\n            because of forward/backward slash differences. (Matthew\n            Desjardins)\nSolution:   Ignore slash differences.\n"
    },
    {
      "commit": "cf089463492fab53b2a5d81517829d22f882f82e",
      "tree": "75f360006e672d0576d0ad93935cdb95a9cebc4c",
      "parents": [
        "ae3150ec8d9da4a244acffebea55416946ca23d3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 12 21:18:43 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 12 21:18:43 2016 +0200"
      },
      "message": "patch 7.4.1924\nProblem:    Missing \"void\" for functions without argument.\nSolution:   Add \"void\". (Hirohito Higashi)\n"
    },
    {
      "commit": "4231da403e3c879dd6ac261e51f4ca60813935e3",
      "tree": "d0c43a8b05ae0a727db41ac821ffc36df6d37880",
      "parents": [
        "c4bc0e6542185b659d2a165b635f9561549071ea"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 02 14:30:04 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 02 14:30:04 2016 +0200"
      },
      "message": "patch 7.4.1873\nProblem:    When a callback adds a timer the GUI doesn\u0027t use it until later.\n            (Ramel Eshed)\nSolution:   Return early if a callback adds a timer.\n"
    },
    {
      "commit": "b055066a1daf12c349d6c575aff22ae4d999a157",
      "tree": "b1a1c54ba96a50abc70ccb5bca0b1279aa81b502",
      "parents": [
        "e3188e261569ae512fb1ae2653b57fdd9e259ca3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 31 21:37:36 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 31 21:37:36 2016 +0200"
      },
      "message": "patch 7.4.1861\nProblem:    Compiler warnings with 64 bit compiler.\nSolution:   Change int to size_t. (Mike William)\n"
    },
    {
      "commit": "e3188e261569ae512fb1ae2653b57fdd9e259ca3",
      "tree": "87c05229ae16e555ac400824415470337734dba4",
      "parents": [
        "ef3abc6442260e9a0314970a532400b05571d3fe"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 31 21:13:04 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 31 21:13:04 2016 +0200"
      },
      "message": "patch 7.4.1860\nProblem:    Using a partial for timer_start() may cause a crash.\nSolution:   Set the copyID in timer objects. (Ozaki Kiichi)\n"
    },
    {
      "commit": "a57024453115592b8847af40ddd965a33898e390",
      "tree": "149fc4647b824a3ee155afe9475a1220a73fb27c",
      "parents": [
        "2bbf8eff6fab16d86e7bcfc0da1962d31bec7891"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 24 19:37:29 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 24 19:37:29 2016 +0200"
      },
      "message": "patch 7.4.1840\nProblem:    When using packages an \"after\" directory cannot be used.\nSolution:   Add the \"after\" directory of the package to \u0027runtimepath\u0027 if it\n            exists.\n"
    },
    {
      "commit": "dc303bce10c60a3314078ea168064552fadf01af",
      "tree": "8adc8a5e2eb1c576518fccc2d6051ef0aef9fb6b",
      "parents": [
        "e40d75f6ef73095286b66e546c70ff6f045e009d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 17 17:45:38 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 17 17:45:38 2016 +0200"
      },
      "message": "patch 7.4.1832\nProblem:    Memory leak in debug commands.\nSolution:   Free memory before overwriting the pointer. (hint by Justin Keyes)\n"
    },
    {
      "commit": "dc633cf82758f67f656cda7fa8ccc30414ee53f8",
      "tree": "e8a018a83d53136a6891b4ee4d37a8eb4183ce53",
      "parents": [
        "73dfe917ba6357413aaf98a021c91add5ac6e9bc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 23 14:33:19 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 23 14:33:19 2016 +0200"
      },
      "message": "patch 7.4.1780\nProblem:    Warnings reported by cppcheck.\nSolution:   Fix the warnings. (Dominique Pelle)\n"
    },
    {
      "commit": "49b27326447d0827c59c6cd201d58f65c1163086",
      "tree": "0db4d3eb478f28795304810e2194e6cc75efa777",
      "parents": [
        "a742e084b677f76c67e9e52c4f9fb9ab24002e20"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 05 21:13:00 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 05 21:13:00 2016 +0200"
      },
      "message": "patch 7.4.1712\nProblem:    For plugins in packages, plugin authors need to take care of all\n            dependencies.\nSolution:   When loading \"start\" packages and for :packloadall, first add all\n            directories to \u0027runtimepath\u0027 before sourcing plugins.\n"
    },
    {
      "commit": "71fb0c146bef08dc276fc5793bd47366e6e0f32a",
      "tree": "b4d2535d4cfd7d63b449ea32b87e818f156b021b",
      "parents": [
        "298c65971e884666d57c32bff6b730d517d9dc30"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 02 22:44:16 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 02 22:44:16 2016 +0200"
      },
      "message": "patch 7.4.1699\nProblem:    :packadd does not work the same when used early or late.\nSolution:   Always load plugins matching \"plugin/**/*.vim\".\n"
    },
    {
      "commit": "ba8cd122ef60a7c71a7723be0d635f0c2d4556ab",
      "tree": "9a7f8cde464e8e369c614e2e0104b889e8cde54f",
      "parents": [
        "c0a1d7f3ad4d41b64c6c881bb8ad7c201f8439a3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 19 14:16:39 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 19 14:16:39 2016 +0100"
      },
      "message": "patch 7.4.1596\nProblem:    Memory leak. (Coverity)\nSolution:   Free the pattern.\n"
    },
    {
      "commit": "1c8b4edb9b6cd5248925f3f06ec82486be9fb4ea",
      "tree": "25cd006e79b3f1b7307608e7c239ecf3399f9c21",
      "parents": [
        "8a1bb046378f4bc68d6a04af2eab80fb3ce04da6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 17 21:51:03 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 17 21:51:03 2016 +0100"
      },
      "message": "patch 7.4.1587\nProblem:    Compiler warnings with 64 bit compiler.\nSolution:   Add type casts. (Mike Williams)\n"
    },
    {
      "commit": "597385ab43093ba27adcb86cdc1b46aba86a0093",
      "tree": "44049f34acd0592a305ef7d9c13c3a6f48e66803",
      "parents": [
        "6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 16 23:24:43 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 16 23:24:43 2016 +0100"
      },
      "message": "patch 7.4.1583\nProblem:    Warning for unitinialized variable.\nSolution:   Initialize it. (Dominique)\n"
    },
    {
      "commit": "975b5271eed4fa0500c24a8f37be0b1797cb9db7",
      "tree": "e2f73f9ae91f1fce55de8757dc1599fcc169c3fe",
      "parents": [
        "ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 15 23:10:59 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 15 23:10:59 2016 +0100"
      },
      "message": "patch 7.4.1578\nProblem:    There is no way to invoke a function later or periodically.\nSolution:   Add timer support.\n"
    },
    {
      "commit": "8dcf259d904cfb965d31841dc74a5cfaf5a351d9",
      "tree": "39bcccbdf9fed9c4976e32bda07f3e507717ee39",
      "parents": [
        "7f8989dd8a627af2185df381195351a913f3777f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 22:47:14 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 22:47:14 2016 +0100"
      },
      "message": "patch 7.4.1553\nProblem:    \":runtime\" does not use \u0027packpath\u0027.\nSolution:   Add \"what\" argument.\n"
    },
    {
      "commit": "7f8989dd8a627af2185df381195351a913f3777f",
      "tree": "43e30468ff036d93a02f06a0ab4186f96013adc1",
      "parents": [
        "6bef5306e4f2cacb3a93667992c2312d4b293c9d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 22:11:39 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 22:11:39 2016 +0100"
      },
      "message": "patch 7.4.1552\nProblem:    \":colorscheme\" does not use \u0027packpath\u0027.\nSolution:   Also use in \"start\" and \"opt\" directories in \u0027packpath\u0027.\n"
    },
    {
      "commit": "6bef5306e4f2cacb3a93667992c2312d4b293c9d",
      "tree": "8e460dcff0698e3ca8c0b60f466705d024a75ab0",
      "parents": [
        "2d8f56acb32428d0f965d42dd13b27100b46fa15"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 21:28:26 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 21:28:26 2016 +0100"
      },
      "message": "patch 7.4.1551\nProblem:    Cannot generate help tags in all doc directories.\nSolution:   Make \":helptags ALL\" work.\n"
    },
    {
      "commit": "2d8f56acb32428d0f965d42dd13b27100b46fa15",
      "tree": "ced455063c579ac46ff0c7f269e4869aa6504386",
      "parents": [
        "c835293d54c223627c7d4516ee273c21a3506fa1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 20:34:27 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 20:34:27 2016 +0100"
      },
      "message": "patch 7.4.1550\nProblem:    Cannot load packages early.\nSolution:   Add the \":packloadall\" command.\n"
    },
    {
      "commit": "af1a0e371e739f8dff337fd31da0ff8ffb347b43",
      "tree": "5b57acb24b0604b274725ebfe14aa24b0cbad7bc",
      "parents": [
        "562ca7142845273bca656aa5aeeda90f001062e0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 09 22:19:26 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 09 22:19:26 2016 +0100"
      },
      "message": "patch 7.4.1528\nProblem:    Using \"ever\" for packages is confusing.\nSolution:   Use \"start\", as it\u0027s related to startup.\n"
    },
    {
      "commit": "be82c254862e475a582c0717455e1db6bf96b0d0",
      "tree": "11dfa9bbaf41ce597a37afb20bbd7f1bcb3eb7d6",
      "parents": [
        "2588b5a43f049ddf542991050260237051caad77"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 06 14:44:08 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 06 14:44:08 2016 +0100"
      },
      "message": "patch 7.4.1499\nProblem:    No error message when :packadd does not find anything.\nSolution:   Add an error message. (Hirohito Higashi)\n"
    },
    {
      "commit": "f3654827368e6204608036353a0360e9e7c21e02",
      "tree": "bc8c628031ddb98eb7ad2340198d29359a969061",
      "parents": [
        "014069a7ac51557e531eb3c8b94e36f2193f6c21"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 04 22:12:23 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 04 22:12:23 2016 +0100"
      },
      "message": "patch 7.4.1486\nProblem:    \":loadplugin\" is not optimal, some people find it confusing.\nSolution:   Only use \":packadd\" with an optional \"!\".\n"
    },
    {
      "commit": "9f7820f83bc994bbbecdca9483b355953f07179b",
      "tree": "7fcf3b790416cd8497a59d859dffdc7b74488e0d",
      "parents": [
        "91715873d19a1859c08eeded7848113596e2f2bd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 17:22:49 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 17:22:49 2016 +0100"
      },
      "message": "patch 7.4.1481\nProblem:    Can\u0027t build with small features.\nSolution:   Add #ifdef.\n"
    },
    {
      "commit": "91715873d19a1859c08eeded7848113596e2f2bd",
      "tree": "59e2fa6c902756d7831f05c7ffdbce45d9a7a573",
      "parents": [
        "863c1a9079fa340d663ccafb011729a29186d73e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 17:13:03 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 17:13:03 2016 +0100"
      },
      "message": "patch 7.4.1480\nProblem:    Cannot add a pack direcory without loading a plugin.\nSolution:   Add the :packadd command.\n"
    },
    {
      "commit": "863c1a9079fa340d663ccafb011729a29186d73e",
      "tree": "892a28e0594ec0be6b9499b71e3f78ba227333f6",
      "parents": [
        "1bdd42627d619258d0e847f217cfc1c2795f1ac5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 15:47:06 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 15:47:06 2016 +0100"
      },
      "message": "patch 7.4.1479\nProblem:    No testfor \":loadplugin\".\nSolution:   Add a test.  Fix how option is being set.\n"
    },
    {
      "commit": "1bdd42627d619258d0e847f217cfc1c2795f1ac5",
      "tree": "7d9a074140b29732849f6b84f76351f1adc8bf47",
      "parents": [
        "b5760a1ce5b700fc32b8bd11948ee189a847c59e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 14:23:10 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 14:23:10 2016 +0100"
      },
      "message": "patch 7.4.1478\nProblem:    \":loadplugin\" doesn\u0027t take care of ftdetect files.\nSolution:   Also load ftdetect scripts when appropriate.\n"
    },
    {
      "commit": "f1d2501ebe33e148886c2914acd33140e20ee222",
      "tree": "49e0f2df5cf7358f4bbd4f5ec25a2359753ca671",
      "parents": [
        "00ded43a5a85df57abb74f9e3a38a401f6fbd8fd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 12:22:53 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 12:22:53 2016 +0100"
      },
      "message": "patch 7.4.1476\nProblem:    Function arguments marked as unused while they are not.\nSolution:   Remove UNUSED. (Yegappan Lakshmanan)\n"
    },
    {
      "commit": "85b11769ab507c7df93f319fd964fa579701b76b",
      "tree": "b4fdc6eb96c888e12159a007610a3d2cbab3f31c",
      "parents": [
        "4d1961783fdcb133b6b181acb7166b9f1872bf09"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 18:13:23 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 18:13:23 2016 +0100"
      },
      "message": "patch 7.4.1433\nProblem:    The Sniff interface is no longer useful, the tool has not been\n            available for may years.\nSolution:   Delete the Sniff interface and related code.\n"
    },
    {
      "commit": "0106e3d0bf8a38351af45331cbf3b9172a6bb90b",
      "tree": "8bc142ad7ff048dee9bcd0ddeb200327e34bd972",
      "parents": [
        "9892189d2e7ab94b750f99e6da4cbfc3c8014517"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 18:55:43 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 18:55:43 2016 +0100"
      },
      "message": "patch 7.4.1403\nProblem:    Can\u0027t build without the quickfix feature.\nSolution:   Add #ifdefs. Call ex_ni() for unimplemented commands. (Yegappan\n            Lakshmanan)\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": "1daae446e58fd90f98c51ff3af8f54bfa5197751",
      "tree": "600fb0cd04048afbf74cbbd3b7ec4ee6b7a0fd11",
      "parents": [
        "eed284a16977ab81fa6da8c9562990ba498acd8c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 22 23:25:25 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 22 23:25:25 2016 +0100"
      },
      "message": "patch 7.4.1396\nProblem:    Compiler warnings for conversions.\nSolution:   Add type cast.\n"
    },
    {
      "commit": "bdcd75275002c3b74015bb9bc0a01b13bb6107d4",
      "tree": "5a26651b2f0934a66b5395ffddd601b6aa0300e4",
      "parents": [
        "8f8ae40ce45822c51c7f3cc58d7c23990f0ecc3d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 22 20:19:03 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 22 20:19:03 2016 +0100"
      },
      "message": "patch 7.4.1388\nProblem:    Compiler warning. (Cesar Romani)\nSolution:   Initialize variable.\n"
    },
    {
      "commit": "f6fee0e2d4341c0c2f5339c1268e5877fafd07cf",
      "tree": "86922c1a8c51e62f0369db6decc5582c01b03d2c",
      "parents": [
        "271273c39f2150ecdaa67fe1a2a8e9cdc63db545"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 21 23:02:49 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 21 23:02:49 2016 +0100"
      },
      "message": "patch 7.4.1384\nProblem:    It is not easy to use a set of plugins and their dependencies.\nSolution:   Add packages, \":loadopt\", \u0027packpath\u0027.\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": "79c2c881bb7ae1cbdeeff91d4875b4bf2e54df06",
      "tree": "9af61874e83f9428b0b91e54328e3f92f7ed9f95",
      "parents": [
        "dc94a26a641914df5f1ba1ab47a5752e1137287e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 21:19:28 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 21:19:28 2016 +0100"
      },
      "message": "patch 7.4.1285\nProblem:    Cannot measure elapsed time.\nSolution:   Add reltimefloat().\n"
    },
    {
      "commit": "d14e00ea67afbaa8cb4a7e6b1eb306da6a2d5adb",
      "tree": "f33b2f999a51f5ecd5b42c01b0d837ab8e660b44",
      "parents": [
        "bbb3339dbfa2067fab616698739097df06aa5e6c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 31 17:30:51 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 31 17:30:51 2016 +0100"
      },
      "message": "patch 7.4.1225\nProblem:    Still a few old style function declarations.\nSolution:   Make them new style. (Hirohito Higashi)\n"
    }
  ],
  "next": "e2c3810c2ae290bbc2cba18eb47cc2d44e4b9797"
}
