)]}'
{
  "log": [
    {
      "commit": "dbe5d361feb65137099644329cf0ecfd4a945a14",
      "tree": "d7b2410bb7f7d3044e30056fa290ef3b26330350",
      "parents": [
        "d5b991493816a2edba7cacdd06820cf3c0abc4dc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 08 18:35:31 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 08 18:35:31 2020 +0100"
      },
      "message": "patch 8.2.0235: draw error when an empty group is removed from \u0027statusline\u0027\n\nProblem:    Draw error when an empty group is removed from \u0027statusline\u0027.\nSolution:   Do not use highlighting from a removed group.\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": "e31ee86859528a7ffe00405645547d494e522fa8",
      "tree": "741c24aea3fae5efb613d64314a6721d6cad85c5",
      "parents": [
        "ce6db0273f2c4359f48d75103a42991aa481f14e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 07 20:59:34 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 07 20:59:34 2020 +0100"
      },
      "message": "patch 8.2.0098: exe stack length can be wrong without being detected\n\nProblem:    Exe stack length can be wrong without being detected.\nSolution:   Add a check when ABORT_ON_INTERNAL_ERROR is defined.\n"
    },
    {
      "commit": "f10997a1543eb0724d882da3678bacd44e647141",
      "tree": "24e970f79ff00a9b0e2d17a7f24ba9d8031837ea",
      "parents": [
        "467c32bd72efea09677f173fef7a3465d9ab7826"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 03 21:00:02 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 03 21:00:02 2020 +0100"
      },
      "message": "patch 8.2.0082: when reusing a buffer listeners are not cleared\n\nProblem:    When reusing a buffer listeners are not cleared. (Axel Forsman)\nSolution:   Clear listeners when reusing a buffer. (closes #5431)\n"
    },
    {
      "commit": "efcc329020ef089267f5f3994b8544eb58806311",
      "tree": "ab8cb40fbc657f8642050905fb0771d7e70b99e5",
      "parents": [
        "08b28b7ad52d5ee3cb5fa5982b647e325a410484"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 30 21:59:03 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 30 21:59:03 2019 +0100"
      },
      "message": "patch 8.2.0064: diffmode completion doesn\u0027t use per-window setting\n\nProblem:    Diffmode completion doesn\u0027t use per-window setting.\nSolution:   Check if a window is in diff mode. (Dominique Pell, closes #5419)\n"
    },
    {
      "commit": "1a47ae32cdc19b0fd5a82e19fe5fddf45db1a506",
      "tree": "8f5dc27f3eeea927ad3ca8de42fe0df06a041dd5",
      "parents": [
        "257a396879ff67a0482841a39237f30a8e1e27c5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 29 23:04:25 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 29 23:04:25 2019 +0100"
      },
      "message": "patch 8.2.0056: execution stack is incomplete and inefficient\n\nProblem:    Execution stack is incomplete and inefficient.\nSolution:   Introduce a proper execution stack and use it instead of\n            sourcing_name/sourcing_lnum.  Create a string only when used.\n"
    },
    {
      "commit": "ae7dba896975051a3f0b7123faa08dac5635972d",
      "tree": "4535b38de33959b00eccc8a18194fe6e83d3f353",
      "parents": [
        "e20e68b40d9572393bb3577d6a0b52e960950b57"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 29 13:56:33 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 29 13:56:33 2019 +0100"
      },
      "message": "patch 8.2.0054: :diffget and :diffput don\u0027t have good completion\n\nProblem:    :diffget and :diffput don\u0027t have good completion.\nSolution:   Add proper completion. (Dominique Pelle, closes #5409)\n"
    },
    {
      "commit": "53989554a44caca0964376d60297f08ec257c53c",
      "tree": "34d2140d4201e015661344b05ffb4c2d9aed97ff",
      "parents": [
        "70188f5b23ea7efec7adaf74e0af797d1bb1afe8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 23 22:59:18 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 23 22:59:18 2019 +0100"
      },
      "message": "patch 8.2.0035: saving and restoring called_emsg is clumsy\n\nProblem:    Saving and restoring called_emsg is clumsy.\nSolution:   Count the number of error messages.\n"
    },
    {
      "commit": "a6e8f888e7fc31b8ab7233509254fb2e2fe4089f",
      "tree": "cef20e90b6736c286442b40a1169aed2263ec984",
      "parents": [
        "f5f4b6cb5f6174458848d2fbc0388379222c8a0f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 14 16:18:15 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 14 16:18:15 2019 +0100"
      },
      "message": "patch 8.2.0004: get E685 and E931 if buffer reload is interrupted\n\nProblem:    Get E685 and E931 if buffer reload is interrupted.\nSolution:   Do not abort deleting a dummy buffer. (closes #5361)\n"
    },
    {
      "commit": "99ebf22c523e3fdb491b2c92b6f3a7d42721361d",
      "tree": "adbbfce6afde2d201db98feb8413244d4a9d0272",
      "parents": [
        "1e46705a83ef2bbabd4a53ec40108558b73ed54f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 10 23:44:48 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 10 23:44:48 2019 +0100"
      },
      "message": "patch 8.1.2418: bufnr(\u0027$\u0027) is wrong after recycling popup buffer\n\nProblem:    bufnr(\u0027$\u0027) is wrong after recycling popup buffer.\nSolution:   Sort the buffer list by buffer number. (closes #5335)\n"
    },
    {
      "commit": "05ad5ff0ab34ed9a5296dedd420ca81698b8ce22",
      "tree": "7354d352e37ab28988ce26e4f88efd9a9b9f71ec",
      "parents": [
        "0c5c3faef2d54151a8c144539e3e5a3350fb18c7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 22:48:27 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 22:48:27 2019 +0100"
      },
      "message": "patch 8.1.2371: FEAT_TEXT_PROP is a confusing name\n\nProblem:    FEAT_TEXT_PROP is a confusing name.\nSolution:   Use FEAT_PROP_POPUP. (Naruhiko Nishino, closes #5291)\n"
    },
    {
      "commit": "c667da5185ce5dce914d2006d62da2be0cedb384",
      "tree": "cd06b08e9fb7d701653850cd33524d3f1f5acaaf",
      "parents": [
        "71136db1bfbc67c2e55f8070cdf0a241c643e45b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 20:52:27 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 20:52:27 2019 +0100"
      },
      "message": "patch 8.1.2368: using old C style comments\n\nProblem:    Using old C style comments.\nSolution:   Use // comments where appropriate.\n"
    },
    {
      "commit": "dee50a518007b3a59f54b8ad018b6a83993593e7",
      "tree": "33c91c65505b6efc3c100a995a9774cdeda0983a",
      "parents": [
        "7257073043252c2e01c8e168e6842a1121797243"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 15:05:22 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 15:05:22 2019 +0100"
      },
      "message": "patch 8.1.2363: ml_get error when accessing Visual area in \u0027statusline\u0027\n\nProblem:    ml_get error when accessing Visual area in \u0027statusline\u0027.\nSolution:   Disable Visual mode when using another window. (closes #5278)\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": "3b991527e8167f25ad1dfe780b9633c153600955",
      "tree": "6fa8634b4d27ba21142883d8fc9e719bf70c1d76",
      "parents": [
        "f8b036bcae27014e4cbbdceec262b0a4c6dc2d9c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 06 23:26:20 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 06 23:26:20 2019 +0100"
      },
      "message": "patch 8.1.2267: compiler warning for uninitialized variable\n\nProblem:    Compiler warning for uninitialized variable. (Tony Mechelynck)\nSolution:   Rearrange the code.\n"
    },
    {
      "commit": "32aa10203bd0b4b270def03311a4599f9ffdecc4",
      "tree": "4c0188d20dcc6873e6d96f5a28b59bedcb8ebb0c",
      "parents": [
        "70def98a957620cc325d1ab6ee35f13187598693"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 02 22:54:41 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 02 22:54:41 2019 +0100"
      },
      "message": "patch 8.1.2243: typos in comments\n\nProblem:    Typos in comments.\nSolution:   Fix the typos. (Dominique Pelle, closes #5160)  Also adjust\n            formatting a bit.\n"
    },
    {
      "commit": "52410575be50d5c40bbe6380159df48cfc382ceb",
      "tree": "f8a212edd951fa1df961da74870bc9c172dc0b01",
      "parents": [
        "dfded98f87601b11271ee88392c821ceb6390eda"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 27 05:12:45 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 27 05:12:45 2019 +0100"
      },
      "message": "patch 8.1.2225: the \"last used\" info of a buffer is under used\n\nProblem:    The \"last used\" info of a buffer is under used.\nSolution:   Add \"lastused\" to getbufinfo(). List buffers sorted by last-used\n            field. (Andi Massimino, closes #4722)\n"
    },
    {
      "commit": "8617348e2110c2c8387ea448a6258f1effa8d249",
      "tree": "fab9e6b710dba337eb5439160f84e2fead1103cf",
      "parents": [
        "b4367b7fb65f6a88f76ef99f79342341af0b1017"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 01 17:02:16 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 01 17:02:16 2019 +0200"
      },
      "message": "patch 8.1.2107: various memory leaks reported by asan\n\nProblem:    Various memory leaks reported by asan.\nSolution:   Free the memory. (Ozaki Kiichi, closes #5003)\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": "010ee9657acf1a9f799079d718998c94e50ccadc",
      "tree": "e69265142e192956576867020a98d2f58523edd9",
      "parents": [
        "03ac52fc025790c474030ea556cec799400aa046"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 25 20:37:36 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 25 20:37:36 2019 +0200"
      },
      "message": "patch 8.1.2073: when editing a buffer \u0027colorcolumn\u0027 may not work\n\nProblem:    When editing a buffer \u0027colorcolumn\u0027 may not work.\nSolution:   Set the buffer before copying option values. Call\n            check_colorcolumn() after copying window options.\n"
    },
    {
      "commit": "261f346f8154c0ec7094a4a211c653c74e9f7c2e",
      "tree": "ae8f30b11e3a637d1c69bac234d0edd721d4a542",
      "parents": [
        "a3a124627d2eb9d36e3dc3757429d87e041f8c0b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 07 15:45:32 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 07 15:45:32 2019 +0200"
      },
      "message": "patch 8.1.2001: some source files are too big\n\nProblem:    Some source files are too big.\nSolution:   Move buffer and window related functions to evalbuffer.c and\n            evalwindow.c. (Yegappan Lakshmanan, closes #4898)\n"
    },
    {
      "commit": "d570ab95d9ab0616f7d7cff59302617e612eae41",
      "tree": "0224cb7320bbc2a2529de2d2f1cca2d95bf93947",
      "parents": [
        "19e8ac72e9c17b894a9c74cb8f70feb33567033c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 03 23:20:05 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 03 23:20:05 2019 +0200"
      },
      "message": "patch 8.1.1971: manually enabling features causes build errors\n\nProblem:    Manually enabling features causes build errors. (John Marriott)\nSolution:   Adjust #ifdefs.\n"
    },
    {
      "commit": "00b0d6d8dc2c04b3cb26ea3c3d58527939f01af6",
      "tree": "0f3a9bc3181d31e26e8539ab8f59f2c73c9ff39b",
      "parents": [
        "fe6e7618b4d05cb91679dbf7ed5983c95ff5b6a2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 21 22:25:30 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 21 22:25:30 2019 +0200"
      },
      "message": "patch 8.1.1908: every popup window consumes a buffer number\n\nProblem:    Every popup window consumes a buffer number.\nSolution:   Recycle buffers only used for popup windows.  Do not list popup\n            window buffers.\n"
    },
    {
      "commit": "e2c453d38f6512ac4cff7cd26aa7780b4e2534d7",
      "tree": "8458a35d59ac43121bfd2d24d5e9f7f54969d0dc",
      "parents": [
        "d933c82ff4e2c910bd533ed9a50377699c3f5ec9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 21 14:37:09 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 21 14:37:09 2019 +0200"
      },
      "message": "patch 8.1.1901: the +insert_expand feature is not always available\n\nProblem:    The +insert_expand feature is not always available.\nSolution:   Graduate the +insert_expand feature.\n"
    },
    {
      "commit": "6f10c70b59fa4e56aa479345fb0caeaac7429bfb",
      "tree": "cdbb54c3b73a4607d8bdebb116c962bb044246f5",
      "parents": [
        "1058c9d9b5815467182d487f10f6dd71385cb796"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 20 22:58:37 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 20 22:58:37 2019 +0200"
      },
      "message": "patch 8.1.1895: using NULL pointer when out of memory\n\nProblem:    Using NULL pointer when out of memory.\nSolution:   Bail out or skip the code using the pointer. (Zu-Ming Jiang,\n            closes #4805, closes #4843, closes #4939, closes #4844)\n"
    },
    {
      "commit": "5843f5f37b0632e2d706abc9014bfd7d98f7b02e",
      "tree": "2f1af5fd16214dfdf8edc8717e06a8b0aab81c1a",
      "parents": [
        "9a4a8c4d5993c6371486c895a515c2ad351e9aaa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 20 20:13:45 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 20 20:13:45 2019 +0200"
      },
      "message": "patch 8.1.1891: functions used in one file are global\n\nProblem:    Functions used in one file are global.\nSolution:   Add \"static\". (Yegappan Lakshmanan, closes #4840)\n"
    },
    {
      "commit": "0a52df50a0e8fce6f5e0eb5f5373dcd0fa24d83a",
      "tree": "9860863c20df3f5354bf67a1d7efe054e23e8a99",
      "parents": [
        "66b51420e0c8d49bcf6786b792c938d6099e3393"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 18 22:26:31 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 18 22:26:31 2019 +0200"
      },
      "message": "patch 8.1.1887: the +cmdline_compl feature is not in the tiny version\n\nProblem:    The +cmdline_compl feature is not in the tiny version.\nSolution:   Graduate the +cmdline_compl feature.\n"
    },
    {
      "commit": "4ad62155a1015751a6645aaecd94b02c94c8934b",
      "tree": "72d2dab4221986c394ca9f444dfe86cfabe51cfe",
      "parents": [
        "69cbbecf548f390197259ca30cfe147c3e59ce5a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 17 14:38:55 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 17 14:38:55 2019 +0200"
      },
      "message": "patch 8.1.1869: code for the argument list is spread out\n\nProblem:    Code for the argument list is spread out.\nSolution:   Put argument list code in arglist.c. (Yegappan Lakshmanan,\n            closes #4819)\n"
    },
    {
      "commit": "b66bab381c8ba71fd6e92327d1d34c6f8a65f2a7",
      "tree": "0ce017c26ce910c3c0cf9aa02ddfb904fc319042",
      "parents": [
        "3f9bdeb2a521a408c04fd9584a752845b3accbbd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 01 14:28:24 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 01 14:28:24 2019 +0200"
      },
      "message": "patch 8.1.1785: map functionality mixed with character input\n\nProblem:    Map functionality mixed with character input.\nSolution:   Move the map functionality to a separate file. (Yegappan\n            Lakshmanan, closes #4740)  Graduate the +localmap feature.\n"
    },
    {
      "commit": "1417c766f55e5959b31da488417b7d9b141404af",
      "tree": "614c95c7d5da1fca85fcf622ed896f100b2a7d50",
      "parents": [
        "0aca293fedfd22d489297f7cbce6a7de86748151"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 27 17:31:36 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 27 17:31:36 2019 +0200"
      },
      "message": "patch 8.1.1756: autocommand that splits window messes up window layout\n\nProblem:    Autocommand that splits window messes up window layout.\nSolution:   Disallow splitting a window while closing one.  In \":all\" give an\n            error when moving a window will not work.\n"
    },
    {
      "commit": "defa067c54874dd987121dd7252c62755e0aebfa",
      "tree": "4734b054e299ab86a5141b29a5305f7782edd81a",
      "parents": [
        "ed997adaa1e9bd057ce732a73d933b739e9d0c30"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 21 19:25:37 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 21 19:25:37 2019 +0200"
      },
      "message": "patch 8.1.1727: code for viminfo support is spread out\n\nProblem:    Code for viminfo support is spread out.\nSolution:   Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686)\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": "75a1a9415b9c207de5a29b25c0d1949c6c9c5c61",
      "tree": "470a0887aed4e52e342edbca555e0bec1b85af99",
      "parents": [
        "a3fce62c911c204ae144b55018f6dc9295088850"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 20 03:45:36 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 20 03:45:36 2019 +0200"
      },
      "message": "patch 8.1.1575: callbacks may be garbage collected\n\nProblem:    Callbacks may be garbage collected.\nSolution:   Set reference in callbacks. (Ozaki Kiichi, closes #4564)\n"
    },
    {
      "commit": "26910de8b0da6abab87bd5a397330f9cbe483309",
      "tree": "5a76a713818d0973f6774edabc17b8c13fb924fb",
      "parents": [
        "0331faf71200a274377e1569fcda4f00c9cf3e2a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 15 19:37:15 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 15 19:37:15 2019 +0200"
      },
      "message": "patch 8.1.1547: functionality of bt_nofile() is confusing\n\nProblem:    Functionality of bt_nofile() is confusing.\nSolution:   Split into bt_nofile() and bt_nofilename().\n"
    },
    {
      "commit": "c024b4667875e5bc6fd0ed791530e33c3161bff7",
      "tree": "4b7c358c24cb5f5d6d36a40250afbd44eaf6dda7",
      "parents": [
        "aef5c62a6fff7654bb8df7b9359e811f7a6e428f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 08 18:07:21 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 08 18:07:21 2019 +0200"
      },
      "message": "patch 8.1.1498: \":write\" increments b:changedtick even though nothing changed\n\nProblem:    \":write\" increments b:changedtick even though nothing changed.\n            (Daniel Hahler)\nSolution:   Only increment b:changedtick if the modified flag is reset.\n"
    },
    {
      "commit": "3a97bb3f0f8bd118ae23f1c97e55d84ff42eef20",
      "tree": "b7013f43afaaba6ba20b356a7a80fe55add24f1a",
      "parents": [
        "7dd64a3e57d296fdee3b3ffe6d938f634b59848c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 01 13:28:35 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 01 13:28:35 2019 +0200"
      },
      "message": "patch 8.1.1437: code to handle callbacks is duplicated\n\nProblem:    Code to handle callbacks is duplicated.\nSolution:   Add callback_T and functions to deal with it.\n"
    },
    {
      "commit": "c6896e20f8e7e8d9fe0fd1ad333aae1130d714e1",
      "tree": "4155d494ff12b6a2caf736f8f26e4edb826cb0c1",
      "parents": [
        "402502d0e4019ca97330eff40b9fb13736304896"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 30 22:32:34 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 30 22:32:34 2019 +0200"
      },
      "message": "patch 8.1.1431: popup window listed as \"Scratch\"\n\nProblem:    Popup window listed as \"Scratch\".\nSolution:   List them as \"Popup\".\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": "4d784b21d14fc66e98a2b07f70343cdd4acd62aa",
      "tree": "c2e869a4f07eebdf7e0272c74b0fe7392807836c",
      "parents": [
        "8f46e4c4bde13fd5ad68a6670b79cc462b65fbec"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 25 19:51:39 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 25 19:51:39 2019 +0200"
      },
      "message": "patch 8.1.1391: no popup window support\n\nProblem:    No popup window support.\nSolution:   Add initial code for popup windows.  Add the \u0027wincolor\u0027 option.\n"
    },
    {
      "commit": "18a4ba29aeccb9841d5bfdd2eaaffdfae2f15ced",
      "tree": "408ad339f6b34876d2fa481ac61568c7739b1160",
      "parents": [
        "71de720c2c117137185a6fc233b35aab37f0d4bc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 19:39:03 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 19:39:03 2019 +0200"
      },
      "message": "patch 8.1.1386: unessesary type casts for lalloc()\n\nProblem:    Unessesary type casts for lalloc().\nSolution:   Remove type casts.  Change lalloc(size, TRUE) to alloc(size).\n"
    },
    {
      "commit": "964b3746b9c81e65887e2ac9a335f181db2bb592",
      "tree": "9afaaac41a1c4f71b359fd6706b88df00e22e7a1",
      "parents": [
        "d33a764123a8aedb20cd84aeff3b94810ee67c4c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 18:54:09 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 18:54:09 2019 +0200"
      },
      "message": "patch 8.1.1384: using \"int\" for alloc() often results in compiler warnings\n\nProblem:    Using \"int\" for alloc() often results in compiler warnings.\nSolution:   Use \"size_t\" and remove type casts.  Remove alloc_check(), Vim\n            only works with 32 bit ints anyway.\n"
    },
    {
      "commit": "1c6fd1e100fd0457375642ec50d483bcc0f61bb2",
      "tree": "88d15359a046a461250ab7301d0f5216b1616837",
      "parents": [
        "99499b1c05f85f83876b828eea3f6e14f0f407b4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 23 22:11:59 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 23 22:11:59 2019 +0200"
      },
      "message": "patch 8.1.1372: when evaluating \u0027statusline\u0027 the current window is unknown\n\nProblem:    When evaluating \u0027statusline\u0027 the current window is unknown.\n            (Daniel Hahler)\nSolution:   Set \"g:actual_curwin\" for %{} items.  Set \"g:statusline_winid\"\n            when evaluationg %!. (closes #4406, closes #3299)\n"
    },
    {
      "commit": "99499b1c05f85f83876b828eea3f6e14f0f407b4",
      "tree": "88da7aeb6c66daf0c6555388952334efa8cb642e",
      "parents": [
        "05b8b07e2770b66ab77fdb5e195cae809959bdab"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 23 21:35:48 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 23 21:35:48 2019 +0200"
      },
      "message": "patch 8.1.1371: cannot recover from a swap file\n\nProblem:    Cannot recover from a swap file.\nSolution:   Do not expand environment variables in the swap file name.\n            Do not check the extension when we already know a file is a swap\n            file.  (Ken Takata, closes 4415, closes #4369)\n"
    },
    {
      "commit": "eda652215abf696f86b872888945a2d2dd8c7192",
      "tree": "48e30bac1dc042b3dac7e88d20f43e32cec43b8e",
      "parents": [
        "45dd07f10af9bea86f8df77e92788209e209fdab"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 16 20:29:44 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 16 20:29:44 2019 +0200"
      },
      "message": "patch 8.1.1334: when buffer is hidden \"F\" in \u0027shortmess\u0027 is not used\n\nProblem:    When buffer is hidden \"F\" in \u0027shortmess\u0027 is not used.\nSolution:   Check the \"F\" flag in \u0027shortmess\u0027 when the buffer is already\n            loaded. (Jason Franklin)  Add test_getvalue() to be able to test\n            this.\n"
    },
    {
      "commit": "67cf86bfff5fd5224d557d81cb146f46e33b831c",
      "tree": "3ffaca7f4014f393ceb0216a2ec8fca091019c1c",
      "parents": [
        "afde13b62b8fa25dac4635d5caee8d088b937ee0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 28 22:25:38 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 28 22:25:38 2019 +0200"
      },
      "message": "patch 8.1.1231: asking about existing swap file unnecessarily\n\nProblem:    Asking about existing swap file unnecessarily.\nSolution:   When it is safe, delete the swap file.  Remove\n            HAS_SWAP_EXISTS_ACTION, it is always defined. (closes #1237)\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": "ac9fb18020d7e8bf16d02d45fbb02cf47328aaf7",
      "tree": "439cf73bcd9696032bfe85cd170b0623a9dffa9a",
      "parents": [
        "5431589d25e73892fcf7ad1eaca53f742c1c9303"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 27 13:04:13 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 27 13:04:13 2019 +0200"
      },
      "message": "patch 8.1.1210: support for user commands is spread out\n\nProblem:    Support for user commands is spread out. No good reason to make\n            user commands optional.\nSolution:   Move user command support to usercmd.c.  Always enable the\n            user_commands feature.\n"
    },
    {
      "commit": "d85c396d5149a87677e30742f92b2ecfe28af8a6",
      "tree": "2501ccf03d4012c6f00c94154a6514d33b9469cd",
      "parents": [
        "39803d82dbb215d2eea9fcd6cf2961b71515a438"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 07 14:19:14 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 07 14:19:14 2019 +0200"
      },
      "message": "patch 8.1.1135: build failure for small version\n\nProblem:    Build failure for small version. (Tony Mechelynck)\nSolution:   Add #ifdef.\n"
    },
    {
      "commit": "39803d82dbb215d2eea9fcd6cf2961b71515a438",
      "tree": "280abaf998686e393c45a11eaebeefcc30c15681",
      "parents": [
        "08499f5a4d24cb7298b9730a22b2f84f2207c4d0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 07 12:04:51 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 07 12:04:51 2019 +0200"
      },
      "message": "patch 8.1.1134: buffer for quickfix window is reused for another file\n\nProblem:    Buffer for quickfix window is reused for another file.\nSolution:   Don\u0027t reuse the quickfx buffer. (Yegappan Lakshmanan)\n"
    },
    {
      "commit": "558ca4ae55096f8763ab8515a304cda9c57f18a7",
      "tree": "3eeff81990411749a97a0684dde7b8ba5e28acdf",
      "parents": [
        "8f4aeb5572d604d1540ee0cb7e721b5f0cc6d612"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 04 18:15:38 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 04 18:15:38 2019 +0200"
      },
      "message": "patch 8.1.1116: cannot enforce a Vim script style\n\nProblem:    Cannot enforce a Vim script style.\nSolution:   Add the :scriptversion command. (closes #3857)\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": "82b033eff82d3ed0da77fd5f5a1c023766acabba",
      "tree": "044982426b63e83769cda707b56da4d5c2b9d2b5",
      "parents": [
        "63dbfd33c1d47400c62775842b5b750ee69e2383"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 24 14:02:04 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 24 14:02:04 2019 +0100"
      },
      "message": "patch 8.1.1046: the \"secure\" variable is used inconsistently\n\nProblem:    the \"secure\" variable is used inconsistently. (Justin M. Keyes)\nSolution:   Set it to one instead of incrementing.\n"
    },
    {
      "commit": "bdace838c67c1bd94e55e34270a8325933891466",
      "tree": "cf80ca41305e4c04a2ccb293b6634b20fb235fbe",
      "parents": [
        "d82a81cad93708a6c180e59119db4818cc38c1a9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 02 10:13:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 02 10:13:42 2019 +0100"
      },
      "message": "patch 8.1.0989: various small code ugliness\n\nProblem:    Various small code ugliness.\nSolution:   Remove pointless NULL checks. Fix function calls. Fix typos.\n            (Dominique Pelle, closes #4060)\n"
    },
    {
      "commit": "55c77cf2ea9c15e1ec75d1faf702ec3c9e325271",
      "tree": "49838b82e5a5c75c477a716c692b8ce462b0b357",
      "parents": [
        "8bfd9469cef536f171e6666f9d9217192e09d161"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 16 19:05:11 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 16 19:05:11 2019 +0100"
      },
      "message": "patch 8.1.0936: may leak memory when using \u0027vartabstop\u0027\n\nProblem:    May leak memory when using \u0027vartabstop\u0027. (Kuang-che Wu)\nSolution:   Fix handling allocated memory for \u0027vartabstop\u0027. (closes #3976)\n"
    },
    {
      "commit": "00f148d2f24fb955ab36b0833811582c58b2cf2f",
      "tree": "c6fb382f76ec1369f813d667903ac3d68d57428c",
      "parents": [
        "beb7574d6b0eea1cae70aa2913a690da56de5307"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 12 22:37:27 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 12 22:37:27 2019 +0100"
      },
      "message": "patch 8.1.0904: USE_LONG_FNAME never defined\n\nProblem:    USE_LONG_FNAME never defined.\nSolution:   Remove using USE_LONG_FNAME. (Ken Takata, closes #3938)\n"
    },
    {
      "commit": "dce1e89be4675bcdbc9785584d3da25295481e63",
      "tree": "bf5df09169e99ed6f60d67e2da4c4d29569d18a2",
      "parents": [
        "3615abb693ab2d9374ae72f0993128e32ffa3e1c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 10 23:18:53 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 10 23:18:53 2019 +0100"
      },
      "message": "patch 8.1.0894: MS-Windows: resolve() does not return a reparse point\n\nProblem:    MS-Windows: resolve() does not return a reparse point.\nSolution:   Improve resolve(). (Yasuhiro Matsumoto, closes #3896)\n"
    },
    {
      "commit": "ee8188fc74a7cf9ee7acb634b2bb7a032d0cb24c",
      "tree": "ea35e86c1df1da9e7a3594c49c96ed7947289c35",
      "parents": [
        "2a78b7c70471527d83adef6b147dbfb6c9f838f7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 05 21:23:04 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 05 21:23:04 2019 +0100"
      },
      "message": "patch 8.1.0877: new buffer used every time the quickfix window is opened\n\nProblem:    New buffer used every time the quickfix window is opened.\nSolution:   Reuse the buffer. (Yegappan Lakshmanan, closes #3902)\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": "135059724f140ceac889c9f8136bd1bf5c41d49d",
      "tree": "64a9fc867701c8cdd596130cdab2d92129920bd7",
      "parents": [
        "4b9e91f0ba02192e4592a5c4a9bdcdd6e9efeb5e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 15:04:48 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 15:04:48 2019 +0100"
      },
      "message": "patch 8.1.0805: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_MBYTE, part 1.\n"
    },
    {
      "commit": "10772307c4e5299ed45470f92779f089a00d841e",
      "tree": "9833e1deac8d97753cf44e919ebf48ec38e936d7",
      "parents": [
        "113e10721f42fc2500b63fe95193f8665658a90c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 20 18:25:54 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 20 18:25:54 2019 +0100"
      },
      "message": "patch 8.1.0786: ml_get error when updating the status line\n\nProblem:    ml_get error when updating the status line and a terminal had its\n            scrollback cleared.  (Chris Patuzzo)\nSolution:   Check the cursor position when drawing the status line.\n            (closes #3830)\n"
    },
    {
      "commit": "113e10721f42fc2500b63fe95193f8665658a90c",
      "tree": "4395acb733cc8d7a798df8f4a91c5c1afa084841",
      "parents": [
        "1f20daa1d784e2d8ae13db5b9c8abbb648dd2a03"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 20 15:30:40 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 20 15:30:40 2019 +0100"
      },
      "message": "patch 8.1.0785: depending on the configuration some functions are unused\n\nProblem:    Depending on the configuration some functions are unused.\nSolution:   Add more #ifdefs, remove unused functions. (Dominique Pelle,\n            closes #3822)\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"
    },
    {
      "commit": "bb1969b6ab28120c93b77817e7b6075e1aecf663",
      "tree": "aaf6408f1b42e6edae706eaa69b009138c14ad74",
      "parents": [
        "e40742526e6ea272c64ca393d7364e4023f4122c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 17 15:45:25 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 17 15:45:25 2019 +0100"
      },
      "message": "patch 8.1.0763: nobody is using the Sun Workshop support\n\nProblem:    Nobody is using the Sun Workshop support.\nSolution:   Remove the Workshop support.\n"
    },
    {
      "commit": "b5443cc46dd1485d6c785dd8c65a2c07bd5a17f3",
      "tree": "0d666a666cf4f5bea6b3afdf8a60059e5991ab8c",
      "parents": [
        "8e481e8dfe0b82930faf005c7e840c49cbcf4511"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 15 20:19:40 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 15 20:19:40 2019 +0100"
      },
      "message": "patch 8.1.0753: printf format not checked for semsg()\n\nProblem:    printf format not checked for semsg().\nSolution:   Add GNUC attribute and fix reported problems. (Dominique Pelle,\n            closes #3805)\n"
    },
    {
      "commit": "f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d",
      "tree": "a6b07005c19279a4f5d01be14f14861c2657fa95",
      "parents": [
        "05500ece6282407f9f7227aaf564e24147326863"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:38:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:38:42 2019 +0100"
      },
      "message": "patch 8.1.0743: giving error messages is not flexible\n\nProblem:    Giving error messages is not flexible.\nSolution:   Add semsg().  Change argument from \"char_u *\" to \"char *\", also\n            for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes\n            #3302)  Also make emsg() accept a \"char *\" argument.  Get rid of\n            an enormous number of type casts.\n"
    },
    {
      "commit": "bbea47075cc4e7826e9f8c203e4272ba023ed7b0",
      "tree": "fbdec3eeea4ca32ada2f309d8c0155087775cfb5",
      "parents": [
        "9067cd6cdfdc0bb869aa7f5d2a6c607ea8255239"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 01 13:20:31 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 01 13:20:31 2019 +0100"
      },
      "message": "patch 8.1.0673: functionality for signs is spread out over several files\n\nProblem:    Functionality for signs is spread out over several files.\nSolution:   Move most of the sign functionality into sign.c. (Yegappan\n            Lakshmanan, closes #3751)\n"
    },
    {
      "commit": "7d83bf4f2b785b46d87c7bc376fc9d0a862af782",
      "tree": "0676cfef64951ed975c086173f1099998b7dfb94",
      "parents": [
        "01e51e5b305c13c68b5ea2b9e14779e1e88664ef"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 29 18:53:55 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 29 18:53:55 2018 +0100"
      },
      "message": "patch 8.1.0658: deleting signs and completion for :sign is insufficient\n\nProblem:    Deleting signs and completion for :sign is insufficient.\nSolution:   Add deleting signs in a specified or any group from the current\n            cursor location.  Add group and priority to sign command\n            completion. Add tests for different sign unplace commands. Update\n            help text.  Add tests for sign jump with group. Update help for\n            sign jump. (Yegappan Lakshmanan, closes #3731)\n"
    },
    {
      "commit": "6436cd83f90a0efc326798792e49e8ff96a43dce",
      "tree": "4c037d58e17fe18e02c9f06dc541d7b902c735dd",
      "parents": [
        "00b1e041654e8a38fb6b81218a037e1dc94e0943"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 27 00:28:33 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 27 00:28:33 2018 +0100"
      },
      "message": "patch 8.1.0644: finding next sign ID is inefficient\n\nProblem:    Finding next sign ID is inefficient.\nSolution:   Add next_sign_id. (Yegappan Lakshmanan, closes #3717)\n"
    },
    {
      "commit": "7a2d9892b7158edf8dc48e9bcaaae70a40787b37",
      "tree": "e448e08f0ac96c806d96209f9c1bd415101e5175",
      "parents": [
        "d6024e2dd4e0c1556d9b69e61c4059fa78e5609d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 24 20:23:49 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 24 20:23:49 2018 +0100"
      },
      "message": "patch 8.1.0632: using sign group names is inefficient\n\nProblem:    Using sign group names is inefficient.\nSolution:   Store group names in a hash table and use a reference to them.\n            Also remove unnecessary use of \":exe\" from the tests.  (Yegappan\n            Lakshmanan, closes #3715)\n"
    },
    {
      "commit": "162b71479bd4dcdb3a2ef9198a1444f6f99e6843",
      "tree": "edd67e40cafeff24ad1631f9035ecc132e73b22b",
      "parents": [
        "48f377a476e4a3312aa0e3535aba170484b59483"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 21 15:17:36 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 21 15:17:36 2018 +0100"
      },
      "message": "patch 8.1.0614: placing signs can be complicated\n\nProblem:    Placing signs can be complicated.\nSolution:   Add functions for defining and placing signs.  Introduce a group\n            name to avoid different plugins using the same signs. (Yegappan\n            Lakshmanan, closes #3652)\n"
    },
    {
      "commit": "48f377a476e4a3312aa0e3535aba170484b59483",
      "tree": "6ce6c59efdaa4029fa21168d6f561039711b45d6",
      "parents": [
        "9d302ad4e31b4e20ce0b3af700f43edb6f5e6036"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 21 13:03:28 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 21 13:03:28 2018 +0100"
      },
      "message": "patch 8.1.0613: when executing an insecure function the secure flag is stuck\n\nProblem:    When executing an insecure function the secure flag is stuck.\n            (Gabriel Barta)\nSolution:   Restore \"secure\" instead of decrementing it. (closes #3705)\n"
    },
    {
      "commit": "98aefe7c3250bb5d4153b994f878594d1745424e",
      "tree": "262ae31c2dbf4ac0353f5564a2419a79267fa3ae",
      "parents": [
        "5c5697f29829fc3b21fc5452fe8f239f6a4cb8e1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 13 22:20:09 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 13 22:20:09 2018 +0100"
      },
      "message": "patch 8.1.0579: cannot attach properties to text\n\nProblem:    Cannot attach properties to text.\nSolution:   First part of adding text properties.\n"
    },
    {
      "commit": "82e8c92ebef5afcac0c0fdb706ff163f9b3366f7",
      "tree": "4511c874a4c354ea71145da55c9c9298750c4199",
      "parents": [
        "5958f95a40a4a44bd9e7f3b7ec6554a6ef3e42ca"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 20 13:32:36 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 20 13:32:36 2018 +0100"
      },
      "message": "patch 8.1.0539: cannot build without the sandbox\n\nProblem:    Cannot build without the sandbox.\nSolution:   Set the secure option instead of using the sandbox.  Also restrict\n            the characters from \u0027spelllang\u0027 that are used for LANG.vim.\n            (suggested by Yasuhiro Matsumoto)\n"
    },
    {
      "commit": "5958f95a40a4a44bd9e7f3b7ec6554a6ef3e42ca",
      "tree": "3acc52a60e27a6e33ef9b6e8c75673d03d108811",
      "parents": [
        "48d23bb4de3dd37ba0d0b22e7c39d6b894cb1f75"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 20 04:25:21 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 20 04:25:21 2018 +0100"
      },
      "message": "patch 8.1.0538: evaluating a modeline might invoke using a shell command\n\nProblem:    Evaluating a modeline might invoke using a shell command. (Paul\n            Huber)\nSolution:   Set the sandbox flag when setting options from a modeline.\n"
    },
    {
      "commit": "ded5f1bed7ff2d138b3ee0f9610d17290b62692d",
      "tree": "54727bd70279df4fadc4b8f4701577ac33282ef5",
      "parents": [
        "1bbb61948342b5cf6e363629f145c65eb455c388"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 10 17:33:29 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 10 17:33:29 2018 +0100"
      },
      "message": "patch 8.1.0515: reloading a script gives errors for existing functions\n\nProblem:    Reloading a script gives errors for existing functions.\nSolution:   Allow redefining a function once when reloading a script.\n"
    },
    {
      "commit": "3d6014f0336d9a64c01a7518fe45fde0a925fa20",
      "tree": "7961f41f09ee54c2c240abac007ab9779709bb13",
      "parents": [
        "108e7b422b7b59153dd5af1fb75e83fa36ff3db4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 11 19:27:47 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 11 19:27:47 2018 +0200"
      },
      "message": "patch 8.1.0470: pointer ownership around fname_expand() is unclear\n\nProblem:    Pointer ownership around fname_expand() is unclear.\nSolution:   Allow b_ffname and b_sfname to point to the same allocated memory,\n            only free one.  Update comments.\n"
    },
    {
      "commit": "6dff58f15cede9139b2fcfc64c9064326ea3d3b0",
      "tree": "f2326055f5fe8bb5948374155f11bd220c1d9dc7",
      "parents": [
        "f45d747ebf920940b041f5c75c2bfdffb6b670ae"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 30 21:43:26 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 30 21:43:26 2018 +0200"
      },
      "message": "patch 8.1.0443: unnecessary static function prototypes\n\nProblem:    Unnecessary static function prototypes.\nSolution:   Remove unnecessary prototypes.\n"
    },
    {
      "commit": "9cea87c5775948a35098f3602746c20ecf95dbcd",
      "tree": "e3d94740a9c2b64149479c1d03b1d07d3e4a65e6",
      "parents": [
        "e76d7a63dfe916c321e248fbfc97bd948d6fbabb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 21 16:59:45 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 21 16:59:45 2018 +0200"
      },
      "message": "patch 8.1.0425: ml_get error and crash with appendbufline()\n\nProblem:    ml_get error and crash with appendbufline(). (Masashi Iizuka)\nSolution:   Set per-window buffer info. (Hirohito Higashi, closes #3455)\n"
    },
    {
      "commit": "8aeb504fc68e3fea9da5567d2d9a31a132fbf90f",
      "tree": "ea90b0697434c09ee2fea9c898fb2ca88d238a88",
      "parents": [
        "a214079008b30567d0750ec3a27d142fd34662d9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 13 18:33:05 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 13 18:33:05 2018 +0200"
      },
      "message": "patch 8.1.0384: sign ordering depends on +netbeans feature\n\nProblem:    Sign ordering depends on +netbeans feature.\nSolution:   Also order signs without +netbeans. (Christian Brabandt,\n            closes #3224)\n"
    },
    {
      "commit": "f29c1c6aa3f365c025890fab5fb9efbe88eb1761",
      "tree": "3cd43ee75a7e0fbdce4902426512ae804b1c7ff0",
      "parents": [
        "6b0b83f768cf536b34ce4d3f2de6bf62324229aa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 10 21:05:02 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 10 21:05:02 2018 +0200"
      },
      "message": "patch 8.1.0362: cannot get the script line number when executing a function\n\nProblem:    Cannot get the script line number when executing a function.\nSolution:   Store the line number besides the script ID. (Ozaki Kiichi,\n            closes #3362)  Also display the line number with \":verbose set\".\n"
    },
    {
      "commit": "94f01956a583223dafe24135489d0ab1100ab0ad",
      "tree": "536ab4543d93fd2f354a555b49698b1985636576",
      "parents": [
        "32bbd00949c585ea1c9da13197279a175097eddd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 01 15:30:03 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 01 15:30:03 2018 +0200"
      },
      "message": "patch 8.1.0342: crash when a callback deletes a window that is being used\n\nProblem:    Crash when a callback deletes a window that is being used.\nSolution:   Do not unload a buffer that is being displayed while redrawing the\n            screen. Also avoid invoking callbacks while redrawing.\n            (closes #2107)\n"
    },
    {
      "commit": "2f0f871159b2cba862fcd41edab65b17da75c422",
      "tree": "d8dbf0ef961c3f56a0b3ed74b16cee56e99821d2",
      "parents": [
        "7feb35e7782907b44659a2748ff5d7489deeed74"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 21 18:50:18 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 21 18:50:18 2018 +0200"
      },
      "message": "patch 8.1.0310: file info msg not always suppressed with \u0027F\u0027 in \u0027shortmess\u0027\n\nProblem:    File info message not always suppressed with \u0027F\u0027 in \u0027shortmess\u0027.\n            (Asheq Imran)\nSolution:   Save and restore msg_silent. (Christian Brabandt, closes #3221)\n"
    },
    {
      "commit": "da6e8919e75fa8f961d1b805e877c8a92e76dafb",
      "tree": "1e001a2e07d4a1d51d83f4d5a5efe91b3caeef84",
      "parents": [
        "830e3583da682eee41ed6b027c9912547d4022c0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 21 15:12:14 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 21 15:12:14 2018 +0200"
      },
      "message": "patch 8.1.0306: plural messages are not translated properly\n\nProblem:    Plural messages are not translated properly.\nSolution:   Add more usage of NGETTEXT(). (Sergey Alyoshin)\n"
    },
    {
      "commit": "d569bb029983cff947dce704e6f830276204c13f",
      "tree": "50736305a13af688a8321d0b4688042f61526362",
      "parents": [
        "90f1e2b7bcf56112e1535b693acf131727179a6e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 11 13:57:20 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 11 13:57:20 2018 +0200"
      },
      "message": "patch 8.1.0268: file type checking has too many #ifdef\n\nProblem:    File type checking has too many #ifdef.\nSolution:   Always define the S_IF macros. (Ken Takata, closes #3306)\n"
    },
    {
      "commit": "40385dbcdfb44885f2e9b83e1e0285aeb8a0c2a8",
      "tree": "35de952db98f597df68144ef4ab99a294177861d",
      "parents": [
        "de3b3677f7eace66be454196db0fbf710cfc8c5e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 07 22:31:44 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 07 22:31:44 2018 +0200"
      },
      "message": "patch 8.1.0253: saving and restoring window title does not always work\n\nProblem:    Saving and restoring window title does not always work.\nSolution:   Use the stack push and pop commands. (Kouichi Iwamoto,\n            closes #3059)\n"
    },
    {
      "commit": "3cb4448b8a5c0192988f4e349aba6d7a91a9a4bd",
      "tree": "dd56c5afef8fe61ae0505ae09ba4282184ee6c6b",
      "parents": [
        "218beb3e96bcb7b20395be3bec6076c767be71a1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 05 13:22:26 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 05 13:22:26 2018 +0200"
      },
      "message": "patch 8.1.0240: g:actual_curbuf set in wrong scope\n\nProblem:    g:actual_curbuf set in wrong scope. (Daniel Hahler)\nSolution:   Prepend the \"g:\" name space. (closes #3279)\n"
    },
    {
      "commit": "91335e5a67aaa9937e65f1e779b9f3f10fd33ee4",
      "tree": "ab7a421b7c2dda741870488578e857c237adf517",
      "parents": [
        "d2855f5454c5c6c5f786b228c5b67757edfefcb1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 01 17:53:12 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 01 17:53:12 2018 +0200"
      },
      "message": "patch 8.1.0230: directly checking \u0027buftype\u0027 value\n\nProblem:    Directly checking \u0027buftype\u0027 value.\nSolution:   Add the bt_normal() function. (Yegappan Lakshmanan)\n"
    },
    {
      "commit": "04958cbaf25eea27eceedaa987adfb354ad5f7fd",
      "tree": "9a47e4e99b5b702e12d08c0424a91ae701eabb4d",
      "parents": [
        "5ec7414a1c0512832f60c17437d6374cbf4b08e9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 23 19:23:02 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 23 19:23:02 2018 +0200"
      },
      "message": "patch 8.1.0105: all tab stops are the same\n\nProblem:    All tab stops are the same.\nSolution:   Add the variable tabstop feature. (Christian Brabandt,\n            closes #2711)\n"
    },
    {
      "commit": "84a9308511871d9ff94c91a1c6badb92300ded98",
      "tree": "7797ec1f29c0ba052f338e927c75711b901d2ae4",
      "parents": [
        "600323b4ef51a58a8e800d8ca469383a3c911db7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 16 22:58:15 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 16 22:58:15 2018 +0200"
      },
      "message": "patch 8.1.0061: window title is wrong after resetting and setting \u0027title\u0027\n\nProblem:    Window title is wrong after resetting and setting \u0027title\u0027.\nSolution:   Move resetting the title into maketitle(). (Jason Franklin)\n"
    },
    {
      "commit": "891e1fd894720d0b99a9daefa41e8181844f819a",
      "tree": "ea5da71e753bf0022cc832a1397ea262d8d8a64c",
      "parents": [
        "6d41c78e353b630bc1a72cbff9160311d2a81e8c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 06 18:02:39 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 06 18:02:39 2018 +0200"
      },
      "message": "patch 8.1.0036: not restoring Insert mode if leaving prompt buffer with mouse\n\nProblem:    Not restoring Insert mode if leaving a prompt buffer by using a\n            mouse click.\nSolution:   Set b_prompt_insert appropriately. Also correct cursor position\n            when moving cursor to last line.\n"
    },
    {
      "commit": "f273245f6433d5d43a5671306b520a3230c35787",
      "tree": "958293fed4c59ee0cb91a491c8c0e32aa0e618c2",
      "parents": [
        "33c5e9fa7af935c61a8aac461b9664c501003440"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 03 14:47:35 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 03 14:47:35 2018 +0200"
      },
      "message": "patch 8.1.0027: difficult to make a plugin that feeds a line to a job\n\nProblem:    Difficult to make a plugin that feeds a line to a job.\nSolution:   Add the nitial code for the \"prompt\" buftype.\n"
    },
    {
      "commit": "25782a7ff4755daf16c2e1cb5e5f826b13b672ce",
      "tree": "7c8842590d4759e55af0424ebabc2852df5c0574",
      "parents": [
        "2290b1f8aaafbcb38bd801d08e8bf86cb07abfa5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 13 18:05:33 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 13 18:05:33 2018 +0200"
      },
      "message": "patch 8.0.1836: buffer-local window options may not be recent\n\nProblem:    Buffer-local window options may not be recent if the buffer is\n            still open in another window.\nSolution:   Copy the options from the window instead of the outdated window\n            options. (Bjorn Linse, closes #2336)\n"
    },
    {
      "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": "a997b45c7e350ea5b378ca0c52ed3d4cc610975c",
      "tree": "4ce7c2e8741723990ad32cea475b013215a250e8",
      "parents": [
        "e87edf3b85f607632e5431640071fdbc36b685b2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 17 23:24:06 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 17 23:24:06 2018 +0200"
      },
      "message": "patch 8.0.1732: crash when terminal API call deletes the buffer\n\nProblem:    Crash when terminal API call deletes the buffer.\nSolution:   Lock the buffer while calling a function. (closes #2813)\n"
    },
    {
      "commit": "6f4700233fd925fe122b851f937929fb5e5da707",
      "tree": "5c5397f70fc4a320ce0c38adba21a1de7ed7b10d",
      "parents": [
        "d6b4f2dd760b425c63c359b9ff299f73448f8854"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 10 18:47:20 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 10 18:47:20 2018 +0200"
      },
      "message": "patch 8.0.1688: some macros are used without a semicolon\n\nProblem:    Some macros are used without a semicolon, causing auto-indent to be\n            wrong.\nSolution:   Use the do-while(0) trick. (Ozaki Kiichi, closes #2729)\n"
    },
    {
      "commit": "0751f51a5b428805a8c1e9fe529693d032bec991",
      "tree": "73b25f3f4b0b3fc37e03ee5e3e84b64da6fe844d",
      "parents": [
        "0c72fe4ed8430db41f43c5878e6ee60265dc49e9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 29 16:37:16 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 29 16:37:16 2018 +0200"
      },
      "message": "patch 8.0.1651: cannot filter :ls output for terminal buffers\n\nProblem:    Cannot filter :ls output for terminal buffers.\nSolution:   Add flags for terminal buffers. (Marcin Szamotulski, closes #2751)\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": "8fbaeb195d9298c3a2a80300b5f96f1adddd2f59",
      "tree": "08e90a8db454c2031636deb5c912ec218dcc3566",
      "parents": [
        "65873846e088bb94028e9d591ea03e377cb206b5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 25 18:20:17 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 25 18:20:17 2018 +0200"
      },
      "message": "patch 8.0.1641: job in terminal can\u0027t communicate with Vim\n\nProblem:    Job in terminal can\u0027t communicate with Vim.\nSolution:   Add the terminal API.\n"
    },
    {
      "commit": "8c64a36e40b8746404f7151abe6849393396af10",
      "tree": "9ea5c849e79cd3df731595fbbdab9548761a289c",
      "parents": [
        "47015b80a0b0ff74ba7cb597d5959604b6e9a511"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 23 22:39:31 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 23 22:39:31 2018 +0100"
      },
      "message": "patch 8.0.1633: a TextChanged autocmd triggers when it is defined\n\nProblem:    A TextChanged autocmd triggers when it is defined after creating a\n            buffer.\nSolution:   Set b_last_changedtick when opening a buffer. (Hirohito Highlight,\n            closes #2742)\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"
    }
  ],
  "next": "f2bd8ef2b4507d02c6043affff8f7e85e3414d5f"
}
