)]}'
{
  "log": [
    {
      "commit": "a062006b9de0b2947ab5fb376c6e67ef92a8cd69",
      "tree": "9afabc9c8526b37c749186b7ba9db4ce210b11f4",
      "parents": [
        "3075a45592fe76f2febb6321632a23e352efe949"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 17 16:52:40 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 17 16:52:40 2021 +0000"
      },
      "message": "patch 8.2.3610: crash when ModeChanged triggered too early\n\nProblem:    Crash when ModeChanged triggered too early.\nSolution:   Trigger ModeChanged after setting VIsual.\n"
    },
    {
      "commit": "0c71114aede81a209b7efc126b4bf19f11d58955",
      "tree": "e23e9411a0749e18d6bf8d67a7df6f784f16f879",
      "parents": [
        "113cb513f76d8866cbb6dc85fa18aded753e01da"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Nov 12 10:30:04 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Nov 12 10:30:04 2021 +0000"
      },
      "message": "patch 8.2.3583: the \"gd\" and \"gD\" commands do not update search stats\n\nProblem:    The \"gd\" and \"gD\" commands do not update search stats. (Gary\n            Johnson)\nSolution:   Clear search stats.\n"
    },
    {
      "commit": "aaec1d4fb12efb82b87ad322e95994de77b1a833",
      "tree": "6899cf9b5a4bcfef0fc6092b9a8bd5f7214f38f6",
      "parents": [
        "4b2c8047679b737dcb0cd15c313ee51553aed617"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Nov 04 13:28:29 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 04 13:28:29 2021 +0000"
      },
      "message": "patch 8.2.3580: gj does not move properly with a wide character\n\nProblem:    gj does not move properly with a wide character.\nSolution:   Move one to the right. (Christian Brabandt, closes #8702)\n"
    },
    {
      "commit": "25def2c8b8bd7b0c3d5f020207c717a880b05d50",
      "tree": "297dc3f2ad09266c34bdf4c518ff5ebcc588bb4d",
      "parents": [
        "a2ffb435209716dc7aeb4783333f6ea19f5d28a7"
      ],
      "author": {
        "name": "\u003d?UTF-8?q?Magnus\u003d20Gro\u003dC3\u003d9F?\u003d",
        "email": "magnus.gross@rwth-aachen.de",
        "time": "Fri Oct 22 18:56:39 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 22 18:56:39 2021 +0100"
      },
      "message": "patch 8.2.3555: ModeChanged is not triggered on every mode change\n\nProblem:    ModeChanged is not triggered on every mode change.\nSolution:   Also trigger on minor mode changes. (Maguns Gross, closes #8999)\n"
    },
    {
      "commit": "21c1a0c2f10575dbb72fa873d33f0c1f6e170aa7",
      "tree": "ab2a99240a83610e85c5d2632553266406d983ef",
      "parents": [
        "34a364877f0c726cdc0779e6999fded9ba959ebe"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 17 17:20:23 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 17 17:20:23 2021 +0100"
      },
      "message": "patch 8.2.3530: \":buf \\{a}\" fails while \":edit \\{a}\" works\n\nProblem:    \":buf \\{a}\" fails while \":edit \\{a}\" works.\nSolution:   Unescape \"\\{\". (closes #8917)\n"
    },
    {
      "commit": "b07626d4afa73dd2af0f03c0d59eed25ee159ef9",
      "tree": "3d4c106e4390dfe22993a551c3e7892e032c10a2",
      "parents": [
        "cddd5ac911707034ca27f10037c4b1b523188c47"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 11 15:40:43 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 11 15:40:43 2021 +0100"
      },
      "message": "patch 8.2.3494: illegal memory access in utf_head_off\n\nProblem:    Illegal memory access in utf_head_off.\nSolution:   Check cursor position when reselecting the Visual area.\n            (closes #8963)\n"
    },
    {
      "commit": "f1e8876fa2359b572d262772747405d3616db670",
      "tree": "1b33a32bccaa4522f14f2aad8ee8044295635d0b",
      "parents": [
        "464393a6961d9b9de2bfe9c05f8e2ae5bdec0293"
      ],
      "author": {
        "name": "\u003d?UTF-8?q?Magnus\u003d20Gro\u003dC3\u003d9F?\u003d",
        "email": "magnus.gross@rwth-aachen.de",
        "time": "Sun Sep 12 13:39:55 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 12 13:39:55 2021 +0200"
      },
      "message": "patch 8.2.3430: no generic way to trigger an autocommand on mode change\n\nProblem:    No generic way to trigger an autocommand on mode change.\nSolution:   Add the ModeChanged autocommand event. (Magnus Gross, closes #8856)\n"
    },
    {
      "commit": "35a9a00afcb20897d462a766793ff45534810dc3",
      "tree": "2706b760e766121610ba642b5d45496861a7a898",
      "parents": [
        "b3bf33a7b227df871834e816c4ce4b2706b56bea"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 11 21:14:20 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 11 21:14:20 2021 +0200"
      },
      "message": "patch 8.2.3428: using freed memory when replacing\n\nProblem:    Using freed memory when replacing. (Dhiraj Mishra)\nSolution:   Get the line pointer after calling ins_copychar().\n"
    },
    {
      "commit": "eaf3f36168f85c8e0ab7083cd996b9fbe937045d",
      "tree": "7ec14ec4c431cda36ecada140c2552edb92fc4ae",
      "parents": [
        "6868634abd6a49b2dfd3a994a6da7d5911457a37"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Jul 28 16:51:53 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 28 16:51:53 2021 +0200"
      },
      "message": "patch 8.2.3236: mode() does not indicate using CTRL-O in Select mode\n\nProblem:    mode() does not indicate using CTRL-O in Select mode.\nSolution:   Use \"vs\" and similar. (closes #8640)\n"
    },
    {
      "commit": "53ba05b09075f14227f9be831a22ed16f7cc26b2",
      "tree": "75d5ddb38aa9702416d73b7a7b8f158f1d0c320a",
      "parents": [
        "29b857150c111a455f1a38a8f748243524f692e1"
      ],
      "author": {
        "name": "Gary Johnson",
        "email": "garyjohn@spocom.com",
        "time": "Mon Jul 26 22:19:10 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 26 22:19:10 2021 +0200"
      },
      "message": "patch 8.2.3227: \u0027virtualedit\u0027 can only be set globally\n\nProblem:    \u0027virtualedit\u0027 can only be set globally.\nSolution:   Make \u0027virtualedit\u0027 global-local. (Gary Johnson, closes #8638)\n"
    },
    {
      "commit": "ea042677ab5cab736540f3164909cac2c685de74",
      "tree": "623524f72d11b847df5de0043c42e466290e2e8b",
      "parents": [
        "4067bd3604215b48e4b4201e28f9e401b08418e4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 29 20:22:32 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 29 20:22:32 2021 +0200"
      },
      "message": "patch 8.2.3074: popup_atcursor() uses wrong position with concealing\n\nProblem:    popup_atcursor() uses wrong position with concealing.\nSolution:   Keep w_wcol in conceal_check_cursor_line(). (closes #8476)\n"
    },
    {
      "commit": "108010aa4720ef023a8ac59004fc0f2bc11125af",
      "tree": "831741a42644a86ee0d74679361f74cc27861eaa",
      "parents": [
        "d887297ad0164516dd52cdab0308c3626337d124"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 27 22:03:33 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 27 22:03:33 2021 +0200"
      },
      "message": "patch 8.2.3069: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move some error messages to errors.h.  Use clearer names.\n"
    },
    {
      "commit": "544a38e44db0f25ec4fa7a2a4666cf28a2336f33",
      "tree": "aa6a3da517185bbdb604f7d31bde07ef4dc36c31",
      "parents": [
        "31e299c08f250b126b2c2c0ecce12ee563b70fdc"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jun 10 19:39:11 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 10 19:39:11 2021 +0200"
      },
      "message": "patch 8.2.2971: cannot yank a block without trailing spaces\n\nProblem:    Cannot yank a block without trailing spaces.\nSolution:   Add the \"zy\" command. (Christian Brabandt, closes #8292)\n"
    },
    {
      "commit": "21492743e80c6740bac65a91311c28bede8ef2f8",
      "tree": "e3330a096ce98a5e4b8c36b748c0a6621ef14d16",
      "parents": [
        "56cddb38790ba535919524d9d2f32dbec9f3f07a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 04 21:57:57 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 04 21:57:57 2021 +0200"
      },
      "message": "patch 8.2.2938: after using motion force from feedkeys() it sticks\n\nProblem:    After using motion force from feedkeys() it may not be reset.\nSolution:   Clear motion_force in clearop(). (closes #8323)\n"
    },
    {
      "commit": "4f3c57f7980592b25f483e5953799c010a8ae196",
      "tree": "ff81c84567282ba71ffc4ac0eb566915e154efdd",
      "parents": [
        "5072b47a223fb044041b8e7db59a17b3b1d8a625"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 03 22:11:08 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 03 22:11:08 2021 +0200"
      },
      "message": "patch 8.2.2932: select mode test fails\n\nProblem:    Select mode test fails.\nSolution:   Do not always reset the held mouse button.\n"
    },
    {
      "commit": "85eee5b969485142b54337cadadd65a38e7d7396",
      "tree": "567e41e984bb7da60b1a3ec18123bdd83e4006d9",
      "parents": [
        "0a808598e4edb3f1a167ac8c5c1f9084af625c4d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 03 20:34:57 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 03 20:34:57 2021 +0200"
      },
      "message": "patch 8.2.2930: when a popup is visible a mouse move my restart Visual mode\n\nProblem:    When a popup is visible a mouse move my restart Visual mode.\nSolution:   Reset held_button when ending Visual mode. (closes #8318)\n"
    },
    {
      "commit": "eeec2548785b2dd245a31ab25d7bde0f88ea1a6d",
      "tree": "533236c436888fd7a072c4d94a75279158f9c8a5",
      "parents": [
        "b54abeeafb074248597878a874fed9a66b114c06"
      ],
      "author": {
        "name": "K.Takata",
        "email": "kentkt@csc.jp",
        "time": "Wed Jun 02 13:28:16 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 02 13:28:16 2021 +0200"
      },
      "message": "patch 8.2.2922: computing array length is done in various ways\n\nProblem:    Computing array length is done in various ways.\nSolution:   Use ARRAY_LENGTH everywhere. (Ken Takata, closes #8305)\n"
    },
    {
      "commit": "2fa9384ca1b600b934bec81a72c5fb7ce757503a",
      "tree": "5bb926693906fc0598364604d50d9bb4daaebe09",
      "parents": [
        "d2ea7cf10a4d026ebd402594d656af7d5c811c24"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun May 30 22:17:25 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 30 22:17:25 2021 +0200"
      },
      "message": "patch 8.2.2914: cannot paste a block without adding padding\n\nProblem:    Cannot paste a block without adding padding.\nSolution:   Add \"zp\" and \"zP\" which paste without adding padding. (Christian\n            Brabandt, closes #8289)\n"
    },
    {
      "commit": "74ede80aeb272ac81d41a256057c4f250372dd00",
      "tree": "8174d5c488076e8fb910d88ed08b85fafba6d2a9",
      "parents": [
        "a06e345af5b8261c072c95b0446e67cfda439848"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 29 19:18:01 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 29 19:18:01 2021 +0200"
      },
      "message": "patch 8.2.2904: \"g$\" causes scroll if half a double width char is visible\n\nProblem:    \"g$\" causes scroll if half a double width char is visible.\nSolution:   Advance to the last fully visible character. (closes #8254)\n"
    },
    {
      "commit": "1ad72c8eb601d681c84b47380fc31b6d23602d51",
      "tree": "ed43a1e6749aa87f9f8601c77bad5f0d80e19fe7",
      "parents": [
        "02795104442764cd162c2213c7d942a8ddc0a691"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 04 21:56:28 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 04 21:56:28 2021 +0200"
      },
      "message": "patch 8.2.2832: operator cancelled by moving mouse when using popup\n\nProblem:    Operator cancelled by moving mouse when using popup. (Sergey\n            Vlasov)\nSolution:   Do not trigger an operator for a mouse move events. (closes #8176)\n"
    },
    {
      "commit": "3c49e74e18993915a779cafe4af3749b39fd3e2a",
      "tree": "ed92fcba3a6a0f10b56c45ce54022d3dd8d9f3ee",
      "parents": [
        "90193e6140e5e7f1945e3e144a95697b0e16237a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 04 21:26:04 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 04 21:26:04 2021 +0200"
      },
      "message": "patch 8.2.2711: \"gj\" in a closed fold does not move out of the fold\n\nProblem:    \"gj\" in a closed fold does not move out of the fold. (Marco Hinz)\nSolution:   Add a check for being in a closed fold. (closes #8062)\n"
    },
    {
      "commit": "7d41410a455ba62128655beb91c35d3fba299287",
      "tree": "65c38da73c619ec0d4a400ccd63c9d864c31af19",
      "parents": [
        "2c6553498e790604f50016d8435403523a2576d6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 19:39:20 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 19:39:20 2021 +0100"
      },
      "message": "patch 8.2.2548: May get stuck in the cmdline window using :normal\n\nProblem:    May get stuck in the cmdline window using :normal.\nSolution:   Have nv_esc() return K_IGNORE.\n"
    },
    {
      "commit": "2c6553498e790604f50016d8435403523a2576d6",
      "tree": "809b32b0baedaa41e837ca2e6c4eedd6272e623d",
      "parents": [
        "21a83bd53d1fe21c780316c40fdc14d49167d08b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 19:32:03 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 19:32:03 2021 +0100"
      },
      "message": "patch 8.2.2547: \"%\" command not accurate for big files\n\nProblem:    \"%\" command not accurate for big files.\nSolution:   Make it more accurate for files up to 21M lines. (Dominique Pellé,\n            closes #7889)\n"
    },
    {
      "commit": "1d859e24218635c57c09801840ff159cb845ae6a",
      "tree": "254578b6b2f1ec08b6e8afc8307bde89d91d691d",
      "parents": [
        "5ed58c7b700fcb9fd03c418300145b616f4bdcdd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 28 17:24:58 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 28 17:24:58 2021 +0100"
      },
      "message": "patch 8.2.2422: crash when deleting with line number out of range\n\nProblem:    Crash when deleting with line number out of range. (Houyunsong)\nSolution:   Avoid using a negative line number.\n"
    },
    {
      "commit": "e71996bd0865659bde5450f466bc3e53e83431b2",
      "tree": "fe75fc9ed0da7b204c44b0447fec13b3896b2809",
      "parents": [
        "5e6a7aa2b26077775906eb8411952dc6259694de"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 21 17:03:07 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 21 17:03:07 2021 +0100"
      },
      "message": "patch 8.2.2385: \"gj\" and \"gk\" do not work correctly when inside a fold\n\nProblem:    \"gj\" and \"gk\" do not work correctly when inside a fold.\nSolution:   Move check for folding. (closes #7724, closes #4095)\n"
    },
    {
      "commit": "e2edc2ed4a9a229870b1e1811b0ecf045b84e429",
      "tree": "52eb7e738360094d273506de9f81427de4ff0913",
      "parents": [
        "70250fb4d2ffc2e92db224c6374db418f70691fd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 16 20:21:23 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 16 20:21:23 2021 +0100"
      },
      "message": "patch 8.2.2366: when using \":sleep\" the cursor is always displayed\n\nProblem:    When using \":sleep\" the cursor is always displayed.\nSolution:   Do not display the cursor when using \":sleep!\". (Jeremy Lerner,\n            closes #7688)\n"
    },
    {
      "commit": "f4e2099e39ed4d71aed0f9a9579455aed5ec6cc2",
      "tree": "40a384257e29f443c46bbaa19fb88a8eb5441b05",
      "parents": [
        "a3d10a508c404a32485adc86284725e0bdc5b602"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 21 19:59:08 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 21 19:59:08 2020 +0100"
      },
      "message": "patch 8.2.2182: Vim9: value of \u0027magic\u0027 is still relevant\n\nProblem:    Vim9: value of \u0027magic\u0027 is still relevant.\nSolution:   Always behave like \u0027magic\u0027 is on in Vim9 script (closes #7509)\n"
    },
    {
      "commit": "8e7d6223f630690b72b387eaed704bf01f3f29d2",
      "tree": "b2e694bda1dbae28776d68f9babbb42d27e5c730",
      "parents": [
        "3beaf9cd8efa3ba83e07187215004d140b89d529"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 18 19:49:56 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 18 19:49:56 2020 +0100"
      },
      "message": "patch 8.2.2160: various typos\n\nProblem:    Various typos.\nSolution:   Fix spelling mistakes. (closes #7494)\n"
    },
    {
      "commit": "100118c73ac068137cd298d22953896242752523",
      "tree": "4d9312af425ba7ccfd334237df32980d0f6ab8d6",
      "parents": [
        "1b884a0053982335f644eec6c71027706bf3c522"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 11 19:30:34 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 11 19:30:34 2020 +0100"
      },
      "message": "patch 8.2.2128: there is no way to do something on CTRL-Z\n\nProblem:    There is no way to do something on CTRL-Z.\nSolution:   Add VimSuspend and VimResume autocommand events. (closes #7450)\n"
    },
    {
      "commit": "0684e36a7ee0743f2889698fb8e0e14f7acae423",
      "tree": "7a1f23d46e7e1fa94329d7da561bc4a152b7750f",
      "parents": [
        "af0df47a7671a39f2cde950587ba48800188bfb9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 03 19:54:42 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 03 19:54:42 2020 +0100"
      },
      "message": "patch 8.2.2084: CTRL-V U doesn\u0027t work to enter a Unicode character\n\nProblem:    CTRL-V U doesn\u0027t work to enter a Unicode character when\n            modifyOtherKeys is effective. (Ken Takata)\nSolution:   Add a flag to get_literal() for the shift key. (closes #7413)\n"
    },
    {
      "commit": "fccbf068f8c85474db8d8dead1530321d1f3e5b8",
      "tree": "53f940fd2f9ce11dcf6fb2b688fd1eea604f3320",
      "parents": [
        "ce7be3a0e6f19bc85990bb8fcfe5e208944777b4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 26 20:34:00 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 26 20:34:00 2020 +0100"
      },
      "message": "patch 8.2.2057: getting the selection may trigger TextYankPost autocmd\n\nProblem:    Getting the selection may trigger TextYankPost autocmd.\nSolution:   Only trigger the autocommand when yanking in Vim, not for getting\n            the selection. (closes #7367)\n"
    },
    {
      "commit": "957cf67d50516ba98716f59c9e1cb6412ec1535d",
      "tree": "a1f287aee01e4cbb023b2531a5a4b90e9728a8bf",
      "parents": [
        "ea2d407f9c144bb634c59017944e4930ed7f80a2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 12 14:21:06 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 12 14:21:06 2020 +0100"
      },
      "message": "patch 8.2.1978: making a mapping work in all modes is complicated\n\nProblem:    Making a mapping work in all modes is complicated.\nSolution:   Add the \u003cCmd\u003e special key. (Yegappan Lakshmanan, closes #7282,\n            closes 4784, based on patch by Bjorn Linse)\n"
    },
    {
      "commit": "28ee892ac4197421b3317f195512ca64cc56a5b4",
      "tree": "0a9eb799ec0e55a32600cc604cea653d9b91f322",
      "parents": [
        "3e2534ed1a6557445747e6c1439ad26ec8eabfc4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 28 20:20:00 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 28 20:20:00 2020 +0100"
      },
      "message": "patch 8.2.1919: assert_fails() setting emsg_silent changes normal execution\n\nProblem:    Assert_fails() setting emsg_silent changes normal execution.\nSolution:   Use a separate flag in_assert_fails.\n"
    },
    {
      "commit": "c3516f7e4507c77424b94cb89071f6d0841f4e6a",
      "tree": "08b13ec0f9f8b88e0ec8cbab01899960dae3423b",
      "parents": [
        "6defa7bf0a8935cc44f3dc12e9c87bbb40f190b7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 08 22:45:35 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 08 22:45:35 2020 +0200"
      },
      "message": "patch 8.2.1637: Vim9: :put \u003d{expr} does not work inside :def function\n\nProblem:    Vim9: :put \u003d{expr} does not work inside :def function.\nSolution:   Add ISN_PUT. (closes #6397)\n"
    },
    {
      "commit": "86394aa9720c5e087d85831e42d44e042987fbc0",
      "tree": "853c38b28ea57594f1daec276c9fcc2b94c08bf1",
      "parents": [
        "cf8aa6448b3520905bea528ea8ad6533cbef288d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 05 14:27:24 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 05 14:27:24 2020 +0200"
      },
      "message": "patch 8.2.1595: cannot easily see what Vim sends to the terminal\n\nProblem:    Cannot easily see what Vim sends to the terminal.\nSolution:   Write output to the channel log if it contains terminal control\n            sequences.  Avoid warnings for tputs() argument.\n"
    },
    {
      "commit": "ca774f67534e6d1843fda9d1dc9a899972d27577",
      "tree": "9f4b653334d56438f5172e2154145fa8ce317738",
      "parents": [
        "0b8cf278eca45241033033f9bf389e54669a8654"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 30 20:46:38 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 30 20:46:38 2020 +0200"
      },
      "message": "patch 8.2.1549: \"r\" fails if \u0027esckeys\u0027 is off and modifyOtherKeys is used\n\nProblem:    The \"r\" command fails for keys with modifiers if \u0027esckeys\u0027 is off\n            and modifyOtherKeys is used. (Lauri Tirkkonen)\nSolution:   Temporarily disable bracketed paste and modifyOtherKeys if\n            \u0027esckeys\u0027 is off. (closes #6809)\n"
    },
    {
      "commit": "b3ea36c5bcb88b6a05a66347eedd461e9385103f",
      "tree": "ee2ade78ab07ba893a19a4617ee5a4bd61cba9f0",
      "parents": [
        "c2af0afff5c44969ad7611ec2d47d0f52087fa7f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 23 21:46:32 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 23 21:46:32 2020 +0200"
      },
      "message": "patch 8.2.1520: Vim9: CTRL-] used in :def function does not work\n\nProblem:    Vim9: CTRL-] used in :def function does not work.\nSolution:   Omit count or prepend colon. (closes #6769)\n"
    },
    {
      "commit": "62a232506d06f6d1b3b7271801c907d6294dfe84",
      "tree": "d95d049e9676ef5b8a63ca9096401ca52dc8b90d",
      "parents": [
        "730b24833952f0f4a9a17b7815b0d9f87c609eb8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 09 14:04:42 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 09 14:04:42 2020 +0200"
      },
      "message": "patch 8.2.1401: cannot jump to the last used tabpage\n\nProblem:    Cannot jump to the last used tabpage.\nSolution:   Add g\u003cTab\u003e and tabpagnr(\u0027#\u0027). (Yegappan Lakshmanan, closes #6661,\n            neovim #11626)\n"
    },
    {
      "commit": "08815a1d0350fbcc007aea5dd1272454c03fab4f",
      "tree": "dad1065491e1a6af82e39fd44c7ce02b9082e96c",
      "parents": [
        "b31be3f909e074214b7f346888209c866faed56f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 20 23:10:56 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 20 23:10:56 2020 +0200"
      },
      "message": "patch 8.2.1258: CursorHold does not work well\n\nProblem:    CursorHold does not work well.a (Shane-XB-Qian)\nSolution:   Only restore did_cursorhold when using :normal.\n"
    },
    {
      "commit": "b146e01a7e41bf5787a2b5ccc6c340ed6001f308",
      "tree": "7c3437e3b0f1f29c26ccf1926953085cc7f2b578",
      "parents": [
        "54c3fcd852f9d986f81547429e850b3364f058d6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 19 23:06:05 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 19 23:06:05 2020 +0200"
      },
      "message": "patch 8.2.1253: CTRL-K in Insert mode gets \u003cCursorHold\u003e inserted\n\nProblem:    CTRL-K in Insert mode gets \u003cCursorHold\u003e inserted. (Roland\n            Puntaier)\nSolution:   Do not reset did_cursorhold, restore it. (closes #6447)\n"
    },
    {
      "commit": "cc613031b96f1cfa5a184253e745c26f1def9be4",
      "tree": "fe85bf19e82ccfdc37c8c1f6d2ac802ede95efa3",
      "parents": [
        "acc224064033e5cea21ef7f1eefb356ca06ff11d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 07 21:31:18 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 07 21:31:18 2020 +0200"
      },
      "message": "patch 8.2.0929: v:register is not cleared after an operator was executed\n\nProblem:    v:register is not cleared after an operator was executed.\nSolution:   Clear v:register after finishing an operator (Andy Massimino,\n            closes #5305)\n"
    },
    {
      "commit": "439c036ed062de1c87cc7e3fe050a9569fb12089",
      "tree": "4c1f4caab4864e5c5d101fb2c18f59459eb86ab4",
      "parents": [
        "11f1ffd18282c44ca4b74cf7cf336da6d09e396d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 06 15:58:03 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 06 15:58:03 2020 +0200"
      },
      "message": "patch 8.2.0913: code for resetting v:register is duplicated\n\nProblem:    Code for resetting v:register is duplicated.\nSolution:   Add reset_reg_var().\n"
    },
    {
      "commit": "ca70c07b72c24aae3d141e67d08f50361f051af5",
      "tree": "98b26c267d6924c2a7464e08dc9fcacdd94d771f",
      "parents": [
        "d6cd5ffade84a1054fed23079133af3b837033bf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 20:30:46 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 20:30:46 2020 +0200"
      },
      "message": "patch 8.2.0853: ml_delete() often called with FALSE argument\n\nProblem:    ml_delete() often called with FALSE argument.\nSolution:   Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE.\n"
    },
    {
      "commit": "041c7107f23d3b49ab62c1d7e36af90421db8b63",
      "tree": "f21e0e6114da8949c9d91f727d8df2e0754ce064",
      "parents": [
        "06b7b58455f9c09be3d1c36d174ffbfdf4efcd79"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 18:14:57 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 18:14:57 2020 +0200"
      },
      "message": "patch 8.2.0849: BeOS code is not maintained and probably unused\n\nProblem:    BeOS code is not maintained and probably unused.\nSolution:   Remove the BeOS code. (Emir Sari, closes #5817)\n"
    },
    {
      "commit": "b42c0d54279b1fdb79652db0c84171e213458809",
      "tree": "e2357934da698d1fb980de7cbfb8ccbd62d982cb",
      "parents": [
        "09307e3bc1423d5e8a05464b94717a948d6c059a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 29 22:41:41 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 29 22:41:41 2020 +0200"
      },
      "message": "patch 8.2.0839: dropping modifier when putting a character back in typeahead\n\nProblem:    Dropping modifier when putting a character back in typeahead.\nSolution:   Add modifier to ins_char_typebuf(). (closes #6158)\n"
    },
    {
      "commit": "5aed0ccb965dbad4b60f4c77c9c4455a9379e73c",
      "tree": "8347858e800403f8fa07f1fd7b7993b5f18dac4b",
      "parents": [
        "48a687148c4649f6f55b36a1f4111041e7207235"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 12 22:02:21 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 12 22:02:21 2020 +0200"
      },
      "message": "patch 8.2.0743: can move to another buffer from a terminal in popup window\n\nProblem:    Can move to another buffer from a terminal in popup window.\nSolution:   Do not allow \"gf\" or editing a file. (closes #6072)\n"
    },
    {
      "commit": "a80faa8930ed5a554beeb2727762538873135e83",
      "tree": "e797605e0c781214543fcba103cffede7af611cd",
      "parents": [
        "82de464f763d6e6d89229be03ce7c6d02fd5fb59"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 12 19:37:17 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 12 19:37:17 2020 +0200"
      },
      "message": "patch 8.2.0559: clearing a struct is verbose\n\nProblem:    Clearing a struct is verbose.\nSolution:   Define and use CLEAR_FIELD() and CLEAR_POINTER().\n"
    },
    {
      "commit": "5715b3147bfc8ddfe905339f6fd224fd3a5a3ba1",
      "tree": "1fbe00b0d4b3ca4cd2a74141f78581596a6c387c",
      "parents": [
        "24ebd83e030e1c6f9a6be1f06232756ba4d00a8c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 16 22:08:45 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 16 22:08:45 2020 +0100"
      },
      "message": "patch 8.2.0397: delayed screen update when using undo from Insert mode\n\nProblem:    Delayed screen update when using undo from Insert mode.\nSolution:   Update w_topline and cursor shape before sleeping. (closes #5790)\n"
    },
    {
      "commit": "c036e87bd7001238ab7cc5d9e30e59bbf989a5fd",
      "tree": "2ed9e85172f565706463cee71e7ad6a93637297a",
      "parents": [
        "5b1c8fe3d588ab450d4646a0088db4efda88200a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 21 21:30:52 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 21 21:30:52 2020 +0100"
      },
      "message": "patch 8.2.0295: highlighting for :s wrong when using different separator\n\nProblem:    Highlighting for :s wrong when using different separator.\nSolution:   Use separat argument for search direction and separator. (Rob\n            Pilling, closes #5665)\n"
    },
    {
      "commit": "4b96df5a017a04141c4e901b1fc5704a3ca48099",
      "tree": "ae335d245fc252be0d2237336be8c1cda620c874",
      "parents": [
        "a5d5953d59730d9bf9c00a727c4aeb56f6ffc944"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 22:00:26 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 22:00:26 2020 +0100"
      },
      "message": "patch 8.2.0156: various typos in source files and tests\n\nProblem:    Various typos in source files and tests.\nSolution:   Fix the typos. (Emir Sari, closes #5532)\n"
    },
    {
      "commit": "6e0ce171e19d0118ecd7c2b16e2a1bd50aa76013",
      "tree": "5446531fc72732454fef2eb38b5f86532c1b9340",
      "parents": [
        "c95e8d649045add4e77b423bc159dc0d845af559"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 05 20:12:41 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 05 20:12:41 2019 +0100"
      },
      "message": "patch 8.1.2392: using old C style comments\n\nProblem:    Using old C style comments.\nSolution:   Use // comments where appropriate.\n"
    },
    {
      "commit": "fa5612c7d836eb789e0f8ff4b10461b8640a14b2",
      "tree": "0e4040ebe80a7fd8690e409ba4d416fbfea5e207",
      "parents": [
        "912bc4a51af0ad947cb39deba2a6fa4ee27af906"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 01 19:37:07 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 01 19:37:07 2019 +0100"
      },
      "message": "patch 8.1.2377: GUI: when losing focus a pending operator is executed\n\nProblem:    GUI: when losing focus a pending operator is executed.\nSolution:   Do not execute an operator when getting K_IGNORE. (closes #5300)\n"
    },
    {
      "commit": "eda1da0c9a8db1400649629117e7d248c07735f7",
      "tree": "b5357f17e49a2bc1cd71a44895b6d0621124605a",
      "parents": [
        "077b9dd3541339a23ade0cc6a23e804ee39312c5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 17 17:06:33 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 17 17:06:33 2019 +0100"
      },
      "message": "patch 8.1.2313: debugging where a delay comes from is not easy\n\nProblem:    Debugging where a delay comes from is not easy.\nSolution:   Use different values when calling ui_delay().\n"
    },
    {
      "commit": "ee85702c10495041791f728e977b86005c4496e8",
      "tree": "ad3a4d7d4d477299da5349d8b9d234243ca33d66",
      "parents": [
        "b0745b221d284e381f1bd4b591cd68ea54b6a51d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 09 23:26:40 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 09 23:26:40 2019 +0100"
      },
      "message": "patch 8.1.2281: \u0027showbreak\u0027 cannot be set for one window\n\nProblem:    \u0027showbreak\u0027 cannot be set for one window.\nSolution:   Make \u0027showbreak\u0027 global-local.\n"
    },
    {
      "commit": "7a641ca1e113c813fc39cca26f69cd6fc19f71c2",
      "tree": "2a639a87634e81599b6f561e30cc9f62183835b2",
      "parents": [
        "bb26596242fa7db477e2cd706dd99f9a426b5f71"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 31 19:55:55 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 31 19:55:55 2019 +0100"
      },
      "message": "patch 8.1.2237: mode() result depends on whether CURSOR_SHAPE is defined\n\nProblem:    Mode() result after usign \"r\" depends on whether CURSOR_SHAPE is\n            defined. (Christian Brabandt)\nSolution:   Move the #ifdef to only skip ui_cursor_shape().\n"
    },
    {
      "commit": "69bf634858a2a75f2984e42b1e4017bc529a040a",
      "tree": "1584b32f67463ec2b31ac858e5ada499a34967af",
      "parents": [
        "8b530c1ff91f07cf6b0289a536992b7dfbc86598"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 29 04:16:57 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 29 04:16:57 2019 +0100"
      },
      "message": "patch 8.1.2233: cannot get the Vim command line arguments\n\nProblem:    Cannot get the Vim command line arguments.\nSolution:   Add v:argv. (Dmitri Vereshchagin, closes #1322)\n"
    },
    {
      "commit": "8b530c1ff91f07cf6b0289a536992b7dfbc86598",
      "tree": "6a672624551a6e1a4e07d5274c2149afdd486a35",
      "parents": [
        "077ff436a77f95c69da219af8cd8f553ff4f9ff8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 28 02:13:05 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 28 02:13:05 2019 +0100"
      },
      "message": "patch 8.1.2231: not easy to move to the middle of a text line\n\nProblem:    Not easy to move to the middle of a text line.\nSolution:   Add the gM command. (Yasuhiro Matsumoto, closes #2070)\n"
    },
    {
      "commit": "92ea26b925a0835badb0af2d5887238a4198cabb",
      "tree": "0ed45513ea242aa5c252f84cc00cf59b155b38e3",
      "parents": [
        "7751d1d1a3d447d0d48f57f34e0da9f7c6ac433d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 18 20:53:34 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 18 20:53:34 2019 +0200"
      },
      "message": "patch 8.1.2173: searchit() has too many arguments\n\nProblem:    Searchit() has too many arguments.\nSolution:   Move optional arguments to a struct.  Add the \"wrapped\" argument.\n"
    },
    {
      "commit": "a1cb1d1dce14dd005797590721f1bcd0e7c3b35f",
      "tree": "be364e198e623b25d59e58d205e598fd954d3f17",
      "parents": [
        "0d2c4bf1714a6b286bd7a10061044414e0b17a15"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 17 23:00:07 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 17 23:00:07 2019 +0200"
      },
      "message": "patch 8.1.2171: mouse support not always available\n\nProblem:    Mouse support not always available.\nSolution:   Enable mouse support also in tiny version.  Do not define\n            FEAT_MOUSE_XTERM on MS-Windows (didn\u0027t really work).\n"
    },
    {
      "commit": "ceba3dd5187788e09f65bd41b07b40f6f9aab953",
      "tree": "20a1b979b6c230bfda4a57d059121108a8867ea5",
      "parents": [
        "18a79a68413365cd7672728d54615ca708764e23"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 12 16:12:54 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 12 16:12:54 2019 +0200"
      },
      "message": "patch 8.1.2140: \"gk\" and \"gj\" do not work correctly in number column\n\nProblem:    \"gk\" and \"gj\" do not work correctly in number column.\nSolution:   Allow for a negative \"curswant\". (Zach Wegner, closes #4969)\n"
    },
    {
      "commit": "792cf5e1bec04c6d6d70cfbb9ef24c798b469731",
      "tree": "6981aedd79c3abd88a2d1be8d818e6ecb3ac5791",
      "parents": [
        "18223a592efa4399e3951c86deeb712a13b05ca5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 30 23:12:16 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 30 23:12:16 2019 +0200"
      },
      "message": "patch 8.1.2104: the normal.c file is too big\n\nProblem:    The normal.c file is too big.\nSolution:   Move do_pending_operator() to ops.c. (Yegappan Lakshmanan,\n            closes #4999).\n"
    },
    {
      "commit": "8c96af9c05bfcac2d5ae081e098d4863db561511",
      "tree": "aa01cdaf87cf8050334c8cb20014774623614e73",
      "parents": [
        "a893194d91a2942d4d54085d746ed137a9251b69"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 28 19:05:57 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 28 19:05:57 2019 +0200"
      },
      "message": "patch 8.1.2096: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_COMMENTS.\n"
    },
    {
      "commit": "03ac52fc025790c474030ea556cec799400aa046",
      "tree": "9ac7313f93b7630297417251d0a56da6a0044d10",
      "parents": [
        "053f712ef20d143818aa07275cf1f4fa55afbf85"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 24 22:47:46 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 24 22:47:46 2019 +0200"
      },
      "message": "patch 8.1.2072: \"gk\" moves to start of line instead of upwards\n\nProblem:    \"gk\" moves to start of line instead of upwards.\nSolution:   Fix off-by-one error. (Christian Brabandt, closes #4969)\n"
    },
    {
      "commit": "b20b9e14ddd8db111e886ad0494e15b955159426",
      "tree": "81bf23be4dbc17d4b793a29f3252448f5f1e7322",
      "parents": [
        "4d5c12626c98df23e1a5d953692d946310ddfa9c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 21 20:48:04 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 21 20:48:04 2019 +0200"
      },
      "message": "patch 8.1.2062: the mouse code is spread out\n\nProblem:    The mouse code is spread out.\nSolution:   Move all the mouse code to mouse.c. (Yegappan Lakshmanan,\n            closes #4959)\n"
    },
    {
      "commit": "56ebbabea1d8409ba67127b9674f6c714739c8e0",
      "tree": "c79ea6bf14aa3c389bac719ece4665ed0b8a5da6",
      "parents": [
        "4bd782339e370bde82c2a8976df9f335cc12eba9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 20 13:40:14 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 20 13:40:14 2019 +0200"
      },
      "message": "patch 8.1.2059: fix for \"x\" deleting a fold has side effects\n\nProblem:    Fix for \"x\" deleting a fold has side effects.\nSolution:   Fix it where the fold is included.\n"
    },
    {
      "commit": "7a9bd7c1e0ce1baf5a02daf36eeae3638aa315c7",
      "tree": "ff28a87ff9894a452f2f27c938c1370f958c16da",
      "parents": [
        "705918f9f7e446287923cf0248ea35f2a0688199"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 17 22:42:55 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 17 22:42:55 2019 +0200"
      },
      "message": "patch 8.1.2052: using \"x\" before a closed fold may delete that fold\n\nProblem:    Using \"x\" before a closed fold may delete that fold.\nSolution:   Do not translate \u0027x\u0027 do \"dl\". (Christian Brabandt, closes #4927)\n"
    },
    {
      "commit": "e5fbd7393067c279860598ac8359d1617b1082b9",
      "tree": "2b7d0d632f24b3659717bccf8c4d9e70f2c1f95b",
      "parents": [
        "96e38a86a710fb6daec4550ac1667f019dc3a40e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 09 20:04:13 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 09 20:04:13 2019 +0200"
      },
      "message": "patch 8.1.2018: using freed memory when out of memory and displaying message\n\nProblem:    Using freed memory when out of memory and displaying message.\nSolution:   Make a copy of the message first.\n"
    },
    {
      "commit": "8d3b51084a5bdcd2ee9e31bc03cba0d16c43d428",
      "tree": "9d639842238d3d284834750ef03b4bc6e550903e",
      "parents": [
        "a0d1fef4ebb693696464c5e22e33269f724b8e0e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 05 21:29:01 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 05 21:29:01 2019 +0200"
      },
      "message": "patch 8.1.1988: :startinsert! does not work the same way as \"A\"\n\nProblem:    :startinsert! does not work the same way as \"A\".\nSolution:   Use the same code to move the cursor. (closes #4896)\n"
    },
    {
      "commit": "9a4a8c4d5993c6371486c895a515c2ad351e9aaa",
      "tree": "8edb7b29042b5c89c345c5df3220f715eeecf39b",
      "parents": [
        "ea7ecfe2a08877f98edec9b9c26b9e1b3673f00b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 19 22:48:30 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 19 22:48:30 2019 +0200"
      },
      "message": "patch 8.1.1890: ml_get error when deleting fold marker\n\nProblem:    Ml_get error when deleting fold marker.\nSolution:   Check that the line number is not below the last line.  Adjust the\n            fold when deleting the empty line.  (Christian Brabandt,\n            closes #4834)\n"
    },
    {
      "commit": "9c272a9e52c914d6630f2cc887da89f63e7e983a",
      "tree": "59f34beeea1b1d2631ff101b8a7ccc98ba27d7eb",
      "parents": [
        "24278d2407dfbc8d93eb36593cdd006ff5d86f94"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 16 21:54:27 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 16 21:54:27 2019 +0200"
      },
      "message": "patch 8.1.1862: Coverity warns for not using return value\n\nProblem:    Coverity warns for not using return value.\nSolution:   Add \"(void)\" to avoid the warning.\n"
    },
    {
      "commit": "08cc374dabd2a02785129fa1c0100f7745c244ad",
      "tree": "1f24dad29bd8ed0d6715bf96388817f8b162f7c6",
      "parents": [
        "4999a7fb6585915b53888c930067b33c01674678"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 11 22:51:14 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 11 22:51:14 2019 +0200"
      },
      "message": "patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare\n\nProblem:    There is :spellwrong and :spellgood but not :spellrare.\nSolution:   Add :spellrare. (Martin Tournoij, closes #4291)\n"
    },
    {
      "commit": "d7663c22c6c1ff0f86b81371586fbc851d3a3e9e",
      "tree": "3979ae5a710ae9ca6fa4dcecde113961eca54cc1",
      "parents": [
        "0acae7acc40b9f12bff88d5e1dae494a761fec07"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 06 21:59:57 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 06 21:59:57 2019 +0200"
      },
      "message": "patch 8.1.1823: command line history code is spread out\n\nProblem:    Command line history code is spread out.\nSolution:   Put the code in a new file. (Yegappan Lakshmanan, closes #4779)\n            Also graduate the +cmdline_hist feature.\n"
    },
    {
      "commit": "d5c8234517c18fa059b78f59eb96c35eda323dae",
      "tree": "abd953fac030f67c31a0b4b9cfcc01db6156a89a",
      "parents": [
        "298466629119eda501cfdf7824797f05045e67ca"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 27 18:44:57 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 27 18:44:57 2019 +0200"
      },
      "message": "patch 8.1.1758: count of g$ not used correctly when text is not wrapped\n\nProblem:    Count of g$ not used correctly when text is not wrapped.\nSolution:   Do use the count. (Christian Brabandt, closes #4729, closes #4566)\n"
    },
    {
      "commit": "3b849af90a691f2a9999222b0e69bd161bebc5e2",
      "tree": "6f0694c395b49fd26bf53b6c2860b5a6e5dd7178",
      "parents": [
        "7ba343e63483b09584d4bf5a997fc1d1c09f19f7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 10 16:15:04 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 10 16:15:04 2019 +0200"
      },
      "message": "patch 8.1.1658: debug statements included in patch\n\nProblem:    Debug statements included in patch.\nSolution:   Remove the debug statements.\n"
    },
    {
      "commit": "7ba343e63483b09584d4bf5a997fc1d1c09f19f7",
      "tree": "b37ff372b110b7648dfa3fe01fc35b3d62d8e01f",
      "parents": [
        "e089c3fd6937524a14d22baa7562b0820f1343ac"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 09 23:22:15 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 09 23:22:15 2019 +0200"
      },
      "message": "patch 8.1.1657: Terminal: screen updates from \u0027balloonexpr\u0027 are not displayed\n\nProblem:    Terminal: screen updates from \u0027balloonexpr\u0027 are not displayed.\nSolution:   Update the screen if needed.  Fix the word position for\n            \"mousemoved\".\n"
    },
    {
      "commit": "b3d17a20d243f65bcfe23de08b7afd948c5132c2",
      "tree": "d5cf97466bfab6199a02fa2db200bee4bf054337",
      "parents": [
        "5b19e5b919ec568792e2e2301899f0e58cf9e550"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 07 18:28:14 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 07 18:28:14 2019 +0200"
      },
      "message": "patch 8.1.1645: cannot use a popup window for a balloon\n\nProblem:    Cannot use a popup window for a balloon.\nSolution:   Add popup_beval().  Add the \"mousemoved\" property.  Add the\n            screenpos() function.\n"
    },
    {
      "commit": "5b8cfedfbd19a71a30c73cf44b0aec3da7fc1a24",
      "tree": "fdaa4dec72d804fdbaab665d550dc10b3be0dafb",
      "parents": [
        "892ae723ab95e429222e930cf41b32809567e58e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 30 22:16:10 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 30 22:16:10 2019 +0200"
      },
      "message": "patch 8.1.1612: cannot show an existing buffer in a popup window\n\nProblem:    Cannot show an existing buffer in a popup window.\nSolution:   Support buffer number argument in popup_create().\n"
    },
    {
      "commit": "f9c85f580b3792f6b95107412972f5360d412ef0",
      "tree": "faaacd461a2d7788b15f15e317d466070fe26e8d",
      "parents": [
        "548be7f126dc57ca861cb26dc6492c3b2a9e2c99"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 29 07:41:35 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 29 07:41:35 2019 +0200"
      },
      "message": "patch 8.1.1608: the evalfunc.c file is too big\n\nProblem:    The evalfunc.c file is too big.\nSolution:   Move sign functionality to sign.c.\n"
    },
    {
      "commit": "6efd76ae4a5cb60facd261abd5d64800ec96402d",
      "tree": "cf7c87388453be4682ca652aa7e12d2f3bd80051",
      "parents": [
        "53a95d65840e9d48844fa0798f198eca765176e8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 26 04:06:57 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 26 04:06:57 2019 +0200"
      },
      "message": "patch 8.1.1599: compiler warning for uninitialized variable\n\nProblem:    Compiler warning for uninitialized variable. (Tony Mechelynck)\nSolution:   Add a dummy assignment.\n"
    },
    {
      "commit": "68acb41f990405cb5ccd33fcba71a5d499c82974",
      "tree": "3fbba68540725a037037a67c393fd822d8f25e6c",
      "parents": [
        "c2a43165004f944a909428e80700130745c08ed0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 26 03:40:36 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 26 03:40:36 2019 +0200"
      },
      "message": "patch 8.1.1597: cannot scroll a popup window with the mouse\n\nProblem:    Cannot scroll a popup window with the mouse.\nSolution:   If the popup window has a scrollbar let the mouse scroll wheel\n            scroll the window.\n"
    },
    {
      "commit": "e96a2498f9a2d3e93ac07431f6d4afd77f30afdf",
      "tree": "9395a92f2de9f49abe63c7fc9f5fe26b1396fb47",
      "parents": [
        "2b044ffb5ada77e6fa89779d6532ea9fae3fe029"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 25 04:12:16 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 25 04:12:16 2019 +0200"
      },
      "message": "patch 8.1.1588: in :let-heredoc line continuation is recognized\n\nProblem:    In :let-heredoc line continuation is recognized.\nSolution:   Do not consume line continuation. (Ozaki Kiichi, closes #4580)\n"
    },
    {
      "commit": "451d4b5b7c7262631cd1f5057c75d6f5f5772fb1",
      "tree": "deb24fe64258461378994e9255c68f6179f11e31",
      "parents": [
        "06e2c81f6d213d197aa60019b33a263cd5176d68"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 12 20:22:27 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 12 20:22:27 2019 +0200"
      },
      "message": "patch 8.1.1520: popup windows are ignored when dealing with mouse position\n\nProblem:    Popup windows are ignored when dealing with mouse position\nSolution:   Find the mouse position inside a popup window.  Allow for modeless\n            selection.\n"
    },
    {
      "commit": "1762731f2039d78fc8ddd785c3d3b52e5968c0f1",
      "tree": "53ecc305a1703909d91fa5adab3ab7623308d16e",
      "parents": [
        "6116b6abb1a14b6b7aa9776c390f1a5a6bf1b209"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 02 19:53:44 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 02 19:53:44 2019 +0200"
      },
      "message": "patch 8.1.1455: popup_atcursor() not completely implemented\n\nProblem:    Popup_atcursor() not completely implemented.\nSolution:   Add the default for the \"moved\" property.\n"
    },
    {
      "commit": "c799fe206e61f2e2c1231bc46cbe4bb354f3da69",
      "tree": "68b3d2a8bb82519e29fc95f317d2ee02b07f95fa",
      "parents": [
        "b58a4b938c4bc7e0499700859bd7abba9acc5b11"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 28 23:08:19 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 28 23:08:19 2019 +0200"
      },
      "message": "patch 8.1.1414: alloc() returning \"char_u *\" causes a lot of type casts\n\nProblem:    Alloc() returning \"char_u *\" causes a lot of type casts.\nSolution:   Have it return \"void *\". (Mike Williams)  Define ALLOC_ONE() to\n            check the simple allocations.\n"
    },
    {
      "commit": "0ab190c05706b1c72e6e2ca4d990febfa81cf886",
      "tree": "3feebb49e1cda191d9e19cc7da45a28517bdab5d",
      "parents": [
        "1c6fd1e100fd0457375642ec50d483bcc0f61bb2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 23 23:27:36 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 23 23:27:36 2019 +0200"
      },
      "message": "patch 8.1.1373: \"[p\" in Visual mode puts in wrong line\n\nProblem:    \"[p\" in Visual mode puts in wrong line.\nSolution:   Call nv_put() instead of duplicating the functionality.\n            (closes #4408)\n"
    },
    {
      "commit": "eae1b91fea74842000fc055afc74fe2e7934c6ee",
      "tree": "71fe047a88c21932a4c919c47b5d19847ee65471",
      "parents": [
        "691ddeefb545d8488e5a495af61caba2e57b3de9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 09 15:12:55 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 09 15:12:55 2019 +0200"
      },
      "message": "patch 8.1.1306: Borland support is outdated and doesn\u0027t work\n\nProblem:    Borland support is outdated and doesn\u0027t work.\nSolution:   Remove Borland support, there are other (free) compilers\n            available. (Thomas Dziedzic, Ken Takata, closes #4364)\n"
    },
    {
      "commit": "06bd824869b1cb7a85e64ec94135a35698be5b7f",
      "tree": "3d885cd245fb51986f665b2c2556ac044a942e3a",
      "parents": [
        "0b75f7c97cd7f2529884c48dca8edb02abda4bc5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 08 22:55:16 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 08 22:55:16 2019 +0200"
      },
      "message": "patch 8.1.1302: v:beval_text is not tested in Visual mode\n\nProblem:    v:beval_text is not tested in Visual mode.\nSolution:   Add a screenshot of the balloon in Visual mode.\n"
    },
    {
      "commit": "afde13b62b8fa25dac4635d5caee8d088b937ee0",
      "tree": "6a8b58aa58e180e55b2948e5d0bfdbc3d4692a49",
      "parents": [
        "ab4cece6053b0bfd604e15065227b94af873608b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 28 19:46:49 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 28 19:46:49 2019 +0200"
      },
      "message": "patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe\n\nProblem:    A lot of code is shared between vim.exe and gvim.exe.\nSolution:   Optionally put the shared code in vim.dll. (Ken Takata,\n            closes #4287)\n"
    },
    {
      "commit": "45e18cbdc40afd8144d20dcc07ad2d981636f4c9",
      "tree": "11762469ca5d6c4bd49ca50381160afd30dcb2f3",
      "parents": [
        "7a9df9dd00bac462a2942dc798e298f365779fd0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 28 18:05:35 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 28 18:05:35 2019 +0200"
      },
      "message": "patch 8.1.1228: not possible to process tags with a function\n\nProblem:    Not possible to process tags with a function.\nSolution:   Add tagfunc() (Christian Brabandt, Andy Massimino, closes #4010)\n"
    },
    {
      "commit": "abab0b0fdd6535969447b03a4fffc1947918cf6c",
      "tree": "2d43537a5dce8433ef2b2a37684c9e069392c592",
      "parents": [
        "bd9bf266fccbf7b7f09e476e09b61f0133e914db"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 30 18:47:01 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 30 18:47:01 2019 +0100"
      },
      "message": "patch 8.1.1086: too many curly braces\n\nProblem:    Too many curly braces.\nSolution:   Remove curly braces where they are not needed. (Hirohito Higashi,\n            closes #3982)\n"
    },
    {
      "commit": "a84a3dd6635fcd2e07f510cba6a999585dcc381a",
      "tree": "5ec1f6fef107b2cf8fe33a5bf5bb04fd9edc6999",
      "parents": [
        "b45125b374cc3a1cef176b704f518c72c518f24c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 25 22:21:24 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 25 22:21:24 2019 +0100"
      },
      "message": "patch 8.1.1049: when user tries to exit with CTRL-C message is confusing\n\nProblem:    When user tries to exit with CTRL-C message is confusing.\nSolution:   Only mention \":qa!\" when there is a changed buffer. (closes #4163)\n"
    },
    {
      "commit": "2c519cf3bfe76083767ac94c674d2e161ed36587",
      "tree": "6386fbe43e4c710c1a31fe28ea3989cfe35e96a8",
      "parents": [
        "f7e47af7760fe054cb645dac9a1e96b23c85804d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 21 21:45:34 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 21 21:45:34 2019 +0100"
      },
      "message": "patch 8.1.1032: warnings from clang static analyzer\n\nProblem:    Warnings from clang static analyzer. (Yegappan Lakshmanan)\nSolution:   Fix relevant warnings.\n"
    },
    {
      "commit": "4f97475d326c2773a78561fb874e4f23c25cbcd9",
      "tree": "7e066bc70556dfbb415ddb9f364e8432e8aaf189",
      "parents": [
        "78d21dae9c3a39efb30316d3e38dce120bc1abbd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 17 17:44:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 17 17:44:42 2019 +0100"
      },
      "message": "patch 8.1.0941: macros for MS-Windows are inconsistent\n\nProblem:    Macros for MS-Windows are inconsistent, using \"32\", \"3264 and\n            others.\nSolution:   Use MSWIN for all MS-Windows builds.  Use FEAT_GUI_MSWIN for the\n            GUI build. (Hirohito Higashi, closes #3932)\n"
    },
    {
      "commit": "78d21dae9c3a39efb30316d3e38dce120bc1abbd",
      "tree": "5357adccfdb180cd25ea87b895bd067aa89c2ef5",
      "parents": [
        "3678f65d43d10b36dc62738aab2f341fa1e18a32"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 17 15:00:52 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 17 15:00:52 2019 +0100"
      },
      "message": "patch 8.1.0940: MS-Windows console resizing not handled properly\n\nProblem:    MS-Windows console resizing not handled properly.\nSolution:   Handle resizing the console better. (Nobuhiro Takasaki,\n            closes #3968, closes #3611)\n"
    },
    {
      "commit": "14184a3133b9a6ee5f711d493c04e41ba4fa7c2f",
      "tree": "2fefdfea751bfbfdbbec793f880073bd8387bb4f",
      "parents": [
        "6902c0eb27a3e4479445badfef31443f2227fe60"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 16 15:10:30 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 16 15:10:30 2019 +0100"
      },
      "message": "patch 8.1.0932: Farsi support is outdated and unused\n\nProblem:    Farsi support is outdated and unused.\nSolution:   Delete the Farsi support.\n"
    },
    {
      "commit": "375e3390078e740d3c83b0c118c50d9a920036c7",
      "tree": "34f565d4a9351b58d48d8d06e4a84b07effdb3fd",
      "parents": [
        "b3051ce82f2e8af95ce3b6a41867f70aee5ecc82"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 31 18:26:10 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 31 18:26:10 2019 +0100"
      },
      "message": "patch 8.1.0864: cannot have a local value for \u0027scrolloff\u0027 and \u0027sidescrolloff\u0027\n\nProblem:    Cannot have a local value for \u0027scrolloff\u0027 and \u0027sidescrolloff\u0027.\n            (Gary Holloway)\nSolution:   Make \u0027scrolloff\u0027 and \u0027sidescrolloff\u0027 global-local. (mostly by\n            Aron Widforss, closes #3539)\n"
    },
    {
      "commit": "bbb5f8d4c2cbc5f48556008875f57cbe7fc4ac6c",
      "tree": "1de474becdefcd656f653269ee79b916feb7b98b",
      "parents": [
        "af703585a34aa30bb5bdf8c05e4be8b3c66f787a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 31 13:22:32 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 31 13:22:32 2019 +0100"
      },
      "message": "patch 8.1.0856: when scrolling a window the cursorline is not always updated\n\nProblem:    When scrolling a window other than the current one the cursorline\n            highlighting is not always updated. (Jason Franklin)\nSolution:   Call redraw_for_cursorline() after scrolling.  Only set\n            w_last_cursorline when drawing the cursor line.  Reset the lines\n            to be redrawn also when redrawing the whole window.\n"
    },
    {
      "commit": "29ddebef4038d2d2b3bc9d8d3b0109f4046d6fbf",
      "tree": "66144403e05268df8594b01d0298db4f570ed60f",
      "parents": [
        "3e460fd8b72db905fbf9f01b00371384ffc415b8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 26 17:28:26 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 26 17:28:26 2019 +0100"
      },
      "message": "patch 8.1.0826: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_VIRTUALEDIT.  Adds about 10Kbyte to the code.\n"
    },
    {
      "commit": "fc3abf47fbe1e426f2b676c316c81ee9ff607075",
      "tree": "87b9be7b053e71ee6ec750f7c0f0387e9287d4c0",
      "parents": [
        "135059724f140ceac889c9f8136bd1bf5c41d49d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 15:54:21 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 15:54:21 2019 +0100"
      },
      "message": "patch 8.1.0806: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_MBYTE, part 2.\n"
    },
    {
      "commit": "32526b3c1846025f0e655f41efd4e5428da16b6c",
      "tree": "e9f3ea5e0daaada049e905b5f1b38b4a45511f3d",
      "parents": [
        "d383c92ec1d14ffd5c3802f0ffd763e91d547fa8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 19 17:43:09 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 19 17:43:09 2019 +0100"
      },
      "message": "patch 8.1.0779: argument for message functions is inconsistent\n\nProblem:    Argument for message functions is inconsistent.\nSolution:   Make first argument to msg() \"char *\".\n"
    }
  ],
  "next": "f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d"
}
