)]}'
{
  "log": [
    {
      "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": "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": "85a2002adb0eda9a9309c2fab4a79edaa91fb834",
      "tree": "99278733712406ab6f291d92f1645c0064c75037",
      "parents": [
        "fe72d08400d9064b3f959f1f62f279527e64835a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 21 18:25:54 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 21 18:25:54 2019 +0100"
      },
      "message": "patch 8.2.0026: still some /* */ comments\n\nProblem:    Still some /* */ comments.\nSolution:   Convert to // comments.\n"
    },
    {
      "commit": "0efd1bdcf4891f9ef2537e4c3d50a379186dca5f",
      "tree": "d30f4ed13d1ab221b2483b49b3ae4bd157e15633",
      "parents": [
        "99ebf22c523e3fdb491b2c92b6f3a7d42721361d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 11 19:00:04 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 11 19:00:04 2019 +0100"
      },
      "message": "patch 8.1.2419: with a long file name the hit-enter prompt appears\n\nProblem:    With a long file name the hit-enter prompt appears. (J. Lewis\n            Muir)\nSolution:   When checking for text to wrap don\u0027t do this when outputing a CR.\n"
    },
    {
      "commit": "f48ee3c28488f7c361732316f905ac420b3d8087",
      "tree": "34f5a530c163ab511d7c410b9beea4be7cf11e2e",
      "parents": [
        "88a3e2b2ac33e3bb4b7cf9132eb75db051e8f4ed"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 06 22:18:20 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 06 22:18:20 2019 +0100"
      },
      "message": "patch 8.1.2402: typos and other small things\n\nProblem:    Typos and other small things.\nSolution:   Small fixes.\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": "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": "e3a22cb1ba057381be3e645479a537f8032f119f",
      "tree": "3f09fcb6f81cbc2de71c22c355240c72c931532e",
      "parents": [
        "6aa7523b9642a752ab879131d4b159635207d9f2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 14 22:01:57 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 14 22:01:57 2019 +0200"
      },
      "message": "patch 8.1.2149: crash when running out of memory very early\n\nProblem:    Crash when running out of memory very early.\nSolution:   Do not use IObuff when it\u0027s NULL. (closes #5052)\n"
    },
    {
      "commit": "e8070987c6ca9b1e14c5305707c6d29c8e58e7c4",
      "tree": "b1c1f6feef2bcd01639030aa7f6075a7cce5aaf5",
      "parents": [
        "ceba3dd5187788e09f65bd41b07b40f6f9aab953"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 12 17:07:06 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 12 17:07:06 2019 +0200"
      },
      "message": "patch 8.1.2141: :tselect has an extra hit-enter prompt\n\nProblem:    :tselect has an extra hit-enter prompt.\nSolution:   Do not set need_wait_return when only moving the cursor.\n            (closes #5040)\n"
    },
    {
      "commit": "ce0fac28977af31f1dec411d3535b4de2c3169b3",
      "tree": "bacf6049681872b54c347a76ea5f6f5073dd262f",
      "parents": [
        "30e8e73506e4522ef4aebf7d525c0e6ffe8805fd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 27 13:32:06 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 27 13:32:06 2019 +0200"
      },
      "message": "patch 8.1.2083: multi-byte chars do not work properly with \"%.*S\" in printf()\n\nProblem:    Multi-byte chars do not work properly with \"%.*S\" in printf().\nSolution:   Use mb_ptr2cells(). Daniel Hahler, closes #4989)\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": "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": "b005cd80cfda591be95146024d9b97eef383500f",
      "tree": "ce7d5ac25d5c8e3442828130c180e04820565d29",
      "parents": [
        "1e1d30048e722906a13665bd6c3c24c87eb2fe25"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 04 15:54:55 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 04 15:54:55 2019 +0200"
      },
      "message": "patch 8.1.1979: code for handling file names is spread out\n\nProblem:    Code for handling file names is spread out.\nSolution:   Move code to new filepath.c file.  Graduate FEAT_MODIFY_FNAME.\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": "e809a4ed3014fbf717c936c727291b5f038829a5",
      "tree": "5674e27df9d3158e318acb2d9656f98a1bc237dc",
      "parents": [
        "790c18bfa5dfeca51749b752dddc41e60cb3fa54"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 04 17:35:05 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 04 17:35:05 2019 +0200"
      },
      "message": "patch 8.1.1630: various small problems\n\nProblem:    Various small problems.\nSolution:   Various small improvements.\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": "51e14387f120392b74b84408cafec33942337a05",
      "tree": "43d2b2077c404671de3f7fdfc5bc90930aa53d09",
      "parents": [
        "682725c1415f50681877df60257115a966e2a3d4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 25 20:21:28 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 25 20:21:28 2019 +0200"
      },
      "message": "patch 8.1.1393: unnecessary type casts\n\nProblem:    Unnecessary type casts.\nSolution:   Remove type casts from alloc() and lalloc() calls. (Mike Williams)\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": "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": "0b75f7c97cd7f2529884c48dca8edb02abda4bc5",
      "tree": "f139b5554f4e4eb3037c3e1d0bfc58ec1ce6b20a",
      "parents": [
        "2f10658b06bbdd8f25c4ff152266c808234cee0a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 08 22:28:46 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 08 22:28:46 2019 +0200"
      },
      "message": "patch 8.1.1301: when compiled with VIMDLL some messages are not shown\n\nProblem:    When compiled with VIMDLL some messages are not shown.\nSolution:   Set/reset gui.in_use and gui.starting as needed. (Ken Takata,\n            closes #4361)\n"
    },
    {
      "commit": "c779c674acfe70e00e9515ef3a7732fd9db62a29",
      "tree": "4ea0c3230c237024c1eb8afdb138c8aa8fecfc06",
      "parents": [
        "1b243eafb0bf21daaba01004c450cfd8fea70c66"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 28 22:53:41 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 28 22:53:41 2019 +0200"
      },
      "message": "patch 8.1.1233: cannot build tiny version\n\nProblem:    Cannot build tiny version.\nSolution:   Remove #ifdef for verb_msg().\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": "725310d89e1ba268bf410472b7de054c6c260161",
      "tree": "821ec66709f77619bf8a8b8051f640496f8e90d4",
      "parents": [
        "31fc39e47b3cc5e9ef4fa05943d42a4fb22de55e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 24 23:08:23 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 24 23:08:23 2019 +0200"
      },
      "message": "patch 8.1.1201: output of :command is hard to read\n\nProblem:    Output of :command is hard to read.\nSolution:   Make some columns wider, some narrower.  Truncate the command when\n            listing all.\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": "97c2c05ead689f4a5de986c82531fcbd09295cda",
      "tree": "50375633d0f13ead227f2cbfd1dc4a4dc61efeb7",
      "parents": [
        "527a2d86fb375fcc7b34e80fc47f4c7126fc12ba"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 22 13:42:07 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 22 13:42:07 2019 +0100"
      },
      "message": "patch 8.1.0969: message written during startup is truncated\n\nProblem:    Message written during startup is truncated.\nSolution:   Restore message after truncating. (closes 3969)\n"
    },
    {
      "commit": "0d8562a9992e94d532485c37268ca33c0c49ecc2",
      "tree": "a91ad1f6f9aef842d1a9cfaa2c8e604de9dce3ce",
      "parents": [
        "c9629251a634d4f5988c8162ba8249026d1af687"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 19 21:34:05 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 19 21:34:05 2019 +0100"
      },
      "message": "patch 8.1.0954: arguments of semsg() and siemsg() are not checked\n\nProblem:    Arguments of semsg() and siemsg() are not checked.\nSolution:   Add function prototype with __attribute__.\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": "00590740081489db69f43d9f1c0e3f70e29ce6da",
      "tree": "5200046e5c39885c50b5057cca9110975a629eb5",
      "parents": [
        "e93e5a504f481bd0dad9c504d5fcf0e5f0dfc6e6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 15 21:06:09 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 15 21:06:09 2019 +0100"
      },
      "message": "patch 8.1.0927: USE_CR is never defined\n\nProblem:    USE_CR is never defined.\nSolution:   Remove usage of USE_CR. (Ken Takata, closes #3958)\n"
    },
    {
      "commit": "0f77d6afd506d1be4b0bef46e1d2268440e1ba88",
      "tree": "517f3860e69fef45cb273977937ed358f6082878",
      "parents": [
        "9b5c1fcdeae75f82a2083fafbbf75ab220f6ac1e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 14 20:55:09 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 14 20:55:09 2019 +0100"
      },
      "message": "patch 8.1.0919: compiler warnings\n\nProblem:    Compiler warnings.\nSolution:   Add type casts. (Mike Williams)\n"
    },
    {
      "commit": "9b5c1fcdeae75f82a2083fafbbf75ab220f6ac1e",
      "tree": "d051df8c1f277a55dd178ff945496fd7181eb475",
      "parents": [
        "445e71c5ee06015064cf0642cac8190cfe8fbc59"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 14 14:08:04 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 14 14:08:04 2019 +0100"
      },
      "message": "patch 8.1.0918: MS-Windows: startup messages are not converted\n\nProblem:    MS-Windows: startup messages are not converted.\nSolution:   Convert messages when the current codepage differs from\n            \u0027encoding\u0027. (Yasuhiro Matsumoto, closes #3914)\n"
    },
    {
      "commit": "30276f2beb248557c6b33cd5418bca8b7084b0a5",
      "tree": "56f7b88712a5ffffdd10681983e70501e2e1ba58",
      "parents": [
        "264b74fa545edfb92c0d7d08a02c26331cc5b168"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 17:59:39 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 17:59:39 2019 +0100"
      },
      "message": "patch 8.1.0811: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_MBYTE, the final chapter.\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": "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": "63c0ccd2b68ce854f294e6f149cc700c7f543674",
      "tree": "7c0652ffe1d5314027fa890822f72f4149583111",
      "parents": [
        "2d951a486e632f99fe039c0b0a1685f1fe7879b2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 19 21:06:58 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 19 21:06:58 2019 +0100"
      },
      "message": "patch 8.1.0783: compiler warning for signed/unsigned\n\nProblem:    Compiler warning for signed/unsigned.\nSolution:   Add type cast.  Change type of buffer. (Ozaki Kiichi, closes #3827)\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": "83a52171ba00b2b9fd2d1d22a07e38fc9fc69c1e",
      "tree": "5b8e1eaf85ad03ccaa27aec30fff6775bef44d71",
      "parents": [
        "500f36108031c75befb6a04cac2ceeb592d8cf00"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 16 22:41:54 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 16 22:41:54 2019 +0100"
      },
      "message": "patch 8.1.0759: showing two characters for tab is limited\n\nProblem:    Showing two characters for tab is limited.\nSolution:   Allow for a third character for \"tab:\" in \u0027listchars\u0027. (Nathaniel\n            Braun, Ken Takata, closes #3810)\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": "461a7fcfce3cd6414f990037e6468af3b5ccf119",
      "tree": "6498b1cf892206698e8b6951af503f6a953bf5ac",
      "parents": [
        "528ccfbaa1cc805f430a750c551e5a9fd7eb54fe"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 22 13:28:07 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 22 13:28:07 2018 +0100"
      },
      "message": "patch 8.1.0619: :echomsg and :echoerr do not handle List and Dict\n\nProblem:    :echomsg and :echoerr do not handle List and Dict like :echo does.\n            (Daniel Hahler)\nSolution:   Be more tolerant about the expression result type.\n"
    },
    {
      "commit": "d155d7a8519987361169459b8d464ae1caef5e9c",
      "tree": "26d437fd67b33ca1b57aca568d4da40151bc9a81",
      "parents": [
        "162b71479bd4dcdb3a2ef9198a1444f6f99e6843"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 21 16:04:21 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 21 16:04:21 2018 +0100"
      },
      "message": "patch 8.1.0615: get_tv function names are not consistent\n\nProblem:    Get_tv function names are not consistent.\nSolution:   Rename to tv_get.\n"
    },
    {
      "commit": "76a6345433bc2a600689397fb28165a2e5793720",
      "tree": "445a832b355fa2803004a1de2d1f1b6276f56305",
      "parents": [
        "10efcd5b0259659cd9a152a7a342deb5d56a8eb5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 28 20:38:37 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 28 20:38:37 2018 +0100"
      },
      "message": "patch 8.1.0550: expression evaluation may repeat an error message\n\nProblem:    Expression evaluation may repeat an error message. (Jason\n            Franklin)\nSolution:   Increment did_emsg and check for the value when giving an error\n            for the echo command.\n"
    },
    {
      "commit": "6a2633b00bb00bcf0d994f08d1c54ace2c221b58",
      "tree": "a319f2692684a8f44d912d84029286889ba8b83e",
      "parents": [
        "95ba5c364f097121b95879896b05ec737ecafd1c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 07 23:16:36 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 07 23:16:36 2018 +0200"
      },
      "message": "patch 8.1.0466: autocmd test fails\n\nProblem:    Autocmd test fails.\nSolution:   Do call inchar() when flushing typeahead.\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": "e0429681aed5448d1c3b8399d152a2b1a05ea6d7",
      "tree": "973983ac7327502a40ac91593c628e9846616748",
      "parents": [
        "ca06da92432a57e5dcf3e0eebd322fae80941a6b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 01 16:44:03 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 01 16:44:03 2018 +0200"
      },
      "message": "patch 8.1.0135: undo message delays screen update for CTRL-O u\n\nProblem:    Undo message delays screen update for CTRL-O u.\nSolution:   Add smsg_attr_keep(). (closes #3125)\n"
    },
    {
      "commit": "0c183198727b80fd7e52fb29cc1dcd08d79a281c",
      "tree": "8dbddb6237c934452ecbefaa92900968f7c086c7",
      "parents": [
        "ca4b613c692b927c9345dc9e3d6be5de35266be2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 28 14:54:43 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 28 14:54:43 2018 +0200"
      },
      "message": "patch 8.1.0122: translators don\u0027t always understand the maintainer message\n\nProblem:    Translators don\u0027t always understand the maintainer message.\nSolution:   Add a comment that ends up in the generated po file. (Christian\n            Brabandt, closes #3037)\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": "1d4754f96fa5bff1c349cdb71560c55675f50d03",
      "tree": "ee74895e049c81e4d4e7e0ab9f7ea27d8bc3a6e9",
      "parents": [
        "f07f9e731eb97bbdbd1b0b3983750589e4f557a6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 19 17:49:24 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 19 17:49:24 2018 +0200"
      },
      "message": "patch 8.1.0082: in terminal window, typing : at more prompt, inserts \u0027:\u0027\n\nProblem:    In terminal window, typing : at more prompt, inserts \u0027:\u0027 instead\n            of starting another Ex command.\nSolution:   Add skip_term_loop and set it when putting \u0027:\u0027 in the typeahead\n            buffer.\n"
    },
    {
      "commit": "0b6d911e5de1a1c10a23d4c2ee1b0275c474a2dd",
      "tree": "3d33047a64f47e30852f5d6f187f316d12b3f55b",
      "parents": [
        "b4518563c73460150344a57879bf5b22cb8b1c77"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 22 20:35:17 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 22 20:35:17 2018 +0200"
      },
      "message": "patch 8.1.0020: cannot tell whether a register is executing or recording\n\nProblem:    Cannot tell whether a register is being used for executing or\n            recording.\nSolution:   Add reg_executing() and reg_recording(). (Hirohito Higashi,\n            closes #2745)  Rename the global variables for consistency.  Store\n            the register name in reg_executing.\n"
    },
    {
      "commit": "c36651b4b946333dce0a916326d821d2562cf39d",
      "tree": "9bda30e7d6d0719595e66c123985c6d064fef793",
      "parents": [
        "29ce409bfca52bb8a07e2975d06fd788458e9861"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 29 12:22:56 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 29 12:22:56 2018 +0200"
      },
      "message": "patch 8.0.1773: dialog messages are not translated\n\nProblem:    Dialog messages are not translated.\nSolution:   Add N_() and _() where needed. (Sergey Alyoshin)\n"
    },
    {
      "commit": "1feab2b9cc355edc2f24814c35b72ae5e74eb2ae",
      "tree": "14ae268a31231c2732cc83a7c0b9c98e2eeeff6c",
      "parents": [
        "353eeeaca269ed5e83900bd4a24dc6dc80bb4880"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 17 20:12:08 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 17 20:12:08 2018 +0200"
      },
      "message": "patch 8.0.1728: condition always false, useless code\n\nProblem:    Condition always false, useless code.\nSolution:   Remove the code. (Nikolai Pavlov, closes #2808)\n"
    },
    {
      "commit": "d23a823669d93fb2a570a039173eefe4856ac806",
      "tree": "617130258eae70e3bd7ef7b6da9c494ffee7b572",
      "parents": [
        "42443c7d7fecc3a2a72154bb6139b028438617c2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 10 18:45:26 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 10 18:45:26 2018 +0100"
      },
      "message": "patch 8.0.1496: clearing a pointer takes two lines\n\nProblem:    Clearing a pointer takes two lines.\nSolution:   Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,\n            closes #2629)\n"
    },
    {
      "commit": "191f18bad0b5c48afa05c3e8a00f3ced993f6a38",
      "tree": "0aed9e0d035e54bf4446623926d55b7ae524d684",
      "parents": [
        "fef4ddd5eb8816a6607a624aa401bcfa71a63def"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 04 16:38:47 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 04 16:38:47 2018 +0100"
      },
      "message": "patch 8.0.1468: illegal memory access in del_bytes()\n\nProblem:    Illegal memory access in del_bytes().\nSolution:   Check for negative byte count. (Christian Brabandt, closes #2466)\n"
    },
    {
      "commit": "a338adcf222b6a24e26ea5ae6a2ad27f914acb38",
      "tree": "0ffe28d0a3a60c2c1444a991514505c448d4335b",
      "parents": [
        "37badc898b8d167e11553b6d05908ffd35928a6e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 31 20:51:47 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 31 20:51:47 2018 +0100"
      },
      "message": "patch 8.0.1449: slow redrawing with DirectX\n\nProblem:    Slow redrawing with DirectX.\nSolution:   Avoid calling gui_mch_flush() unnecessarily, especially when\n            updating the cursor. (Ken Takata, closes #2560)\n"
    },
    {
      "commit": "51b0f3701ecb440aa72ab6017c1df6940c0e0f6f",
      "tree": "9cfd3546d8e52be2b1425dcc65095f8e650eadde",
      "parents": [
        "234d16286a2733adedef56784c17415ae169b9ad"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 18 18:52:04 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 18 18:52:04 2017 +0100"
      },
      "message": "patch 8.0.1309: cannot use \u0027balloonexpr\u0027 in a terminal\n\nProblem:    Cannot use \u0027balloonexpr\u0027 in a terminal.\nSolution:   Add \u0027balloonevalterm\u0027 and add code to handle mouse movements in a\n            terminal. Initial implementation for Unix with GUI.\n"
    },
    {
      "commit": "d057301b1f28736f094affa17b190244ad56e8d9",
      "tree": "ae20801354321a5ff0d7d23b04d8d6018c57645a",
      "parents": [
        "ef83956e1e67736b4c6b886d897b74f022622a74"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 28 21:11:06 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 28 21:11:06 2017 +0200"
      },
      "message": "patch 8.0.1236: Mac features are confusing\n\nProblem:    Mac features are confusing.\nSolution:   Make feature names more consistent, add \"osxdarwin\". Rename\n            feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)\n"
    },
    {
      "commit": "2f40d129bf45cd35976e4120336ae6d504f5a5dd",
      "tree": "28165f91d583148c96dca3f4fe5d0c7e61b2e860",
      "parents": [
        "4f1982800f0aff28df6875e718a786f6c4b11ad9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 24 21:49:36 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 24 21:49:36 2017 +0200"
      },
      "message": "patch 8.0.1215: newer gcc warns for implicit fallthrough\n\nProblem:    Newer gcc warns for implicit fallthrough.\nSolution:   Consistently use a FALLTHROUGH comment. (Christian Brabandt)\n"
    },
    {
      "commit": "e723c42836d971180d1bf9f98916966c5543fff1",
      "tree": "eced5c296dc3ea756078cb48cfdfe95f3f5d0446",
      "parents": [
        "2e49b6b20c3d7229edf41ac03931ce32ce0f7bd8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 06 23:40:10 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 06 23:40:10 2017 +0200"
      },
      "message": "patch 8.0.1067: try/catch in timer does not prevent it from being stopped\n\nProblem:    Using try/catch in timer does not prevent it from being stopped.\nSolution:   Reset the exception context and use did_emsg instead of\n            called_emsg.\n"
    },
    {
      "commit": "cfce71710b6a2e1fb7f7f27d2a359e4b926f3af9",
      "tree": "e9f5fa03d3b04268324bde07d5e87bb3de026369",
      "parents": [
        "82de3c2c036bc89c2d9bdea236e0a7f1208a5571"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 17 20:31:48 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 17 20:31:48 2017 +0200"
      },
      "message": "patch 8.0.0956: scrolling in a terminal window has flicker\n\nProblem:    Scrolling in a terminal hwindow as flicker when the Normal\n            background differs from the terminal window background.\nSolution:   Set the attribute to clear with.\n"
    },
    {
      "commit": "116a0f800c6a62e29c5af832df092507f1355c68",
      "tree": "c8a4d81c4701a385a4c09ed55d245ea849ea9b9c",
      "parents": [
        "6d87e9e1c6a580609d48d4aa54a20b26b10c5b77"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 07 21:17:57 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 07 21:17:57 2017 +0200"
      },
      "message": "patch 8.0.0888: compiler warnings with 64 bit build\n\nProblem:    Compiler warnings with 64 bit build.\nSolution:   Add type cast of change the type. (Mike Williams)\n"
    },
    {
      "commit": "1b66c00aeca87913e75012c59c4e969316e2626d",
      "tree": "ef86e077b2810640997623aeff1d9d863937a0d2",
      "parents": [
        "69a76feda9e9d308be6b5fc2185286a061dfecd6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 18:55:00 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 18:55:00 2017 +0200"
      },
      "message": "patch 8.0.0852: MS-Windows: possible crash when giving a message on startup\n\nProblem:    MS-Windows: possible crash when giving a message on startup.\nSolution:   Initialize length. (Yasuhiro Matsumoto, closes #1931)\n"
    },
    {
      "commit": "01efafad12102df0f1e341d6cadcb7be971591c1",
      "tree": "9167018f081c6d2691b85cbd509d4876e6f3864c",
      "parents": [
        "3c3a80dc59ccc0e0aabb9c8bd58ea84a801dbfc1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 17:37:48 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 17:37:48 2017 +0200"
      },
      "message": "patch 8.0.0850: MS-Windows: error message while starting up may be broken\n\nProblem:    MS-Windows: Depending on the console encoding, an error message\n            that is given during startup may be broken.\nSolution:   Convert the message to the console codepage. (Yasuhiro Matsumoto,\n            closes #1927)\n"
    },
    {
      "commit": "2f3a90a3bd8505728c0b6d9ac3515f64ee19b357",
      "tree": "84c63d476b635508cad12986fbb40cd18796094a",
      "parents": [
        "398ee7326b78b892a5c8380dfe3f2521a64b4fa7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 14:49:29 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 14:49:29 2017 +0200"
      },
      "message": "patch 8.0.0848: using multiple ch_log functions is clumsy\n\nProblem:    Using multiple ch_log functions is clumsy.\nSolution:   Use variable arguments. (Ozaki Kiichi, closes #1919)\n"
    },
    {
      "commit": "8327d1df1754b33d8a93b3411f30692f0042f4ce",
      "tree": "6f2d59fd480125984eef99d22941edc37f23d31c",
      "parents": [
        "292eff0c5aacb8531d65509679b6c29eae8dc22a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 11 22:34:51 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 11 22:34:51 2017 +0200"
      },
      "message": "patch 8.0.0709: libvterm cannot use vsnprintf()\n\nProblem:    Libvterm cannot use vsnprintf(), it does not exist in C90.\nSolution:   Use vim_vsnprintf() instead.\n"
    },
    {
      "commit": "f8be461d0284110b321be748fea206d4169b98bb",
      "tree": "a066ff1a758151312ec2d7af5bcff2edc869be3a",
      "parents": [
        "4670490673ed98502a09b74fbabe785b47e3d289"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 23 20:52:40 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 23 20:52:40 2017 +0200"
      },
      "message": "patch 8.0.0663: unexpected error message only when \u0027verbose\u0027 is set\n\nProblem:    Giving an error message only when \u0027verbose\u0027 set is unexpected.\nSolution:   Give a warning message instead.\n"
    },
    {
      "commit": "ace95989ed81929a84e205b26d0972cb9d6b4b19",
      "tree": "e6d6813abe2e2671741c7ca27864d85969ec601b",
      "parents": [
        "0c078fc7db2902d4ccba04506db082ddbef45a8c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 29 17:30:27 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 29 17:30:27 2017 +0200"
      },
      "message": "patch 8.0.0520: using a function pointer while the function is known\n\nProblem:    Using a function pointer instead of the actual function, which we\n            know.\nSolution:   Change mb_ functions to utf_ functions when already checked for\n            Unicode. (Dominique Pelle, closes #1582)\n"
    },
    {
      "commit": "f2405ed2321da4a879fe0b0703af780fc0432c63",
      "tree": "0cc02db45ec63fd64c3d75e5d5ab2c2a24e51a60",
      "parents": [
        "57002ad70c4c32f3afefec24994a974cf3eef3ad"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 19:58:25 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 19:58:25 2017 +0100"
      },
      "message": "patch 8.0.0468: after aborting an Ex command g\u003c does not work\n\nProblem:    After aborting an Ex command g\u003c does not work. (Marcin\n            Szamotulski)\nSolution:   Postpone clearing scrollback messages to until the command line\n            has been entered.  Also fix that the screen isn\u0027t redrawn if after\n            g\u003c the command line is cancelled.\n"
    },
    {
      "commit": "8820b48654b62472821d9b155fe03ab7ac13a05c",
      "tree": "7783a4068aee8368661722d5171d33a4d410d6bb",
      "parents": [
        "40ebc0afda8d8e478d2090133ed6a3cd3d8da3ec"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 17:23:31 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 17:23:31 2017 +0100"
      },
      "message": "patch 8.0.0466: still macros that should be all-caps\n\nProblem:    There are still a few macros that should be all-caps.\nSolution:   Make a few more macros all-caps.\n"
    },
    {
      "commit": "1c46544412382db8b3203d6c78e550df885540bd",
      "tree": "d4dc51020d3ebdbee4548b0d5628221f921af2f3",
      "parents": [
        "91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 20:10:05 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 20:10:05 2017 +0100"
      },
      "message": "patch 8.0.0452: some macros are in lower case\n\nProblem:    Some macros are in lower case.\nSolution:   Make a few more macros upper case.\n"
    },
    {
      "commit": "91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f",
      "tree": "1923145c992a09b3adc06e40f02284ff0ef21bbd",
      "parents": [
        "47ffb905f363571072faefbd417938e7ff351a9f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 19:22:36 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 19:22:36 2017 +0100"
      },
      "message": "patch 8.0.0451: some macros are in lower case\n\nProblem:    Some macros are in lower case.\nSolution:   Make a few more macros upper case. Avoid lower case macros use an\n            argument twice.\n"
    },
    {
      "commit": "5a66dfb25eb478c26176d993393a3b1b124edb39",
      "tree": "4bd7c35e770f8d9612cf3ec57c360bbfeee5cfc1",
      "parents": [
        "59716a27bd5c6c64def6c3ca430ff1246deae749"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 01 20:40:39 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 01 20:40:39 2017 +0100"
      },
      "message": "patch 8.0.0397: can\u0027t build with +viminfo but without +eval\n\nProblem:    Cannot build with the viminfo feature but without the eval\n            feature.\nSolution:   Adjust #ifdef. (John Marriott)\n"
    },
    {
      "commit": "f8ab1b14fd972a093e0c12146dd3becd511eb519",
      "tree": "8315232533c5788867675c0099d3e1befd6fc65a",
      "parents": [
        "abc39ab642791ae3d22a524516eeedb673a95d9d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 01 18:30:34 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 01 18:30:34 2017 +0100"
      },
      "message": "patch 8.0.0395: testing the + register fails with Motif\n\nProblem:    Testing the + register fails with Motif.\nSolution:   Also ignore the \"failed to create input context\" error in the\n            second gvim.  Don\u0027t use msg() when it would result in a dialog.\n"
    },
    {
      "commit": "e0c31f6a304496b597a51ce98af419ec815bec74",
      "tree": "9e40b37c819bfc5a3c8f7fb41c25657a88b89ff2",
      "parents": [
        "5f53dd3f747711be90879fa2f22a207970b86750"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 01 15:07:05 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 01 15:07:05 2017 +0100"
      },
      "message": "patch 8.0.0392: GUI test fails with Athena and Motif\n\nProblem:    GUI test fails with Athena and Motif.\nSolution:   Add test_ignore_error().  Use it to ignore the \"failed to create\n            input context\" error.\n"
    },
    {
      "commit": "2b7bc567b9238aaac682236cb4f727d0376e1302",
      "tree": "3c417467743a4413e87288d41625e2323c1c6e1f",
      "parents": [
        "7173b47958a238bb07f80b8f26fb232b0ea69b4a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 14 19:24:52 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 14 19:24:52 2017 +0100"
      },
      "message": "patch 8.0.0184: when an error is caught Vim still exits with non-zero result\n\nProblem:    When in Ex mode and an error is caught by try-catch, Vim still\n            exits with a non-zero exit code.\nSolution:   Don\u0027t set ex_exitval when inside a try-catch. (partly by Christian\n            Brabandt)\n"
    },
    {
      "commit": "958dc6923d341390531888058495569d73c356c3",
      "tree": "b85d5c9ae21eb2de4d63550fd13fb510dccdf5af",
      "parents": [
        "0945eaface83e78138fbd40f95cc590bab0e8c86"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 01 15:34:12 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 01 15:34:12 2016 +0100"
      },
      "message": "patch 8.0.0107\nProblem:    When reading channel output in a timer, messages may go missing.\n            (Skywind)\nSolution:   Add the \"drop\" option.  Write error messages in the channel log.\n            Don\u0027t have ch_canread() check for the channel being open.\n"
    },
    {
      "commit": "95f096030ed1a8afea028f2ea295d6f6a70f466f",
      "tree": "9b1dcdbbe678ad1a3152f5cfd70a136efce6bc92",
      "parents": [
        "459ca563128f2edb7e3bb190090bbb755a56dd55"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 10 20:01:45 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 10 20:01:45 2016 +0100"
      },
      "message": "patch 8.0.0074\nProblem:    Cannot make Vim fail on an internal error.\nSolution:   Add IEMSG() and IEMSG2(). (Domenique Pelle)  Avoid reporting an\n            internal error without mentioning where.\n"
    },
    {
      "commit": "2321ca2a78286bc026fa7f407281ddbeb04114bb",
      "tree": "005460893dee4e745b78b90300b66afaa0395682",
      "parents": [
        "9a27c7fde6d453d9892b6f6baa756bce4d6d419d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 09 14:17:18 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 09 14:17:18 2016 +0200"
      },
      "message": "patch 7.4.2349\nProblem:    Valgrind reports using uninitialzed memory. (Dominique Pelle)\nSolution:   Check the length before checking for a NUL.\n"
    },
    {
      "commit": "aeac9006d5d14910f214f09df52c026a5936e737",
      "tree": "53c5b2efb24387c625d95ff4f5af4d1436c57c76",
      "parents": [
        "64d8e25bf6efe5f18b032563521c3ce278c316ab"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 06 22:15:08 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 06 22:15:08 2016 +0200"
      },
      "message": "patch 7.4.2341\nProblem:    Tiny things.  Test doesn\u0027t clean up properly.\nSolution:   Adjust comment and white space. Restore option value.\n"
    },
    {
      "commit": "edf3f97ae2af024708ebb4ac614227327033ca47",
      "tree": "82fed9ebfc85a69d3cff613f9dab11c8750fad8b",
      "parents": [
        "965ed14973fd3f1b2aace7bae4d4722b71ca04f9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 22:49:24 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 22:49:24 2016 +0200"
      },
      "message": "patch 7.4.2293\nProblem:    Modelines in source code are inconsistant.\nSolution:   Use the same line in most files.  Add \u0027noet\u0027.  (Naruhiko Nishino)\n"
    },
    {
      "commit": "965ed14973fd3f1b2aace7bae4d4722b71ca04f9",
      "tree": "1157086fa31c19ac76842ff34b5e4df0d7a5786a",
      "parents": [
        "04186095346daa60e82e981dad114de2b641d672"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 22:31:24 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 22:31:24 2016 +0200"
      },
      "message": "patch 7.4.2292\nProblem:    Not all systems understand %F in printf().\nSolution:   Use %f.\n"
    },
    {
      "commit": "04186095346daa60e82e981dad114de2b641d672",
      "tree": "0026222b735297b056c4961160b9940ef72cd3b7",
      "parents": [
        "7f7bd297d6d989254f71c694f1c72d07cbc5c306"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 21:55:35 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 21:55:35 2016 +0200"
      },
      "message": "patch 7.4.2291\nProblem:    printf() handles floats wrong when there is a sign.\nSolution:   Fix placing the sign.  Add tests. (Dominique Pelle)\n"
    },
    {
      "commit": "7f7bd297d6d989254f71c694f1c72d07cbc5c306",
      "tree": "c65987887805ab0fc9758f2fcf536560a064ab7b",
      "parents": [
        "7683aaa5061e26d4bc52fdf40be66789e9e4fec0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 28 21:21:31 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 28 21:21:31 2016 +0200"
      },
      "message": "patch 7.4.2290\nProblem:    Compiler warning in tiny build. (Tony Mechelynck)\nSolution:   Add #ifdef around infinity_str().\n"
    },
    {
      "commit": "e999782e369999539a1783a7ebe4eadcc6da28a8",
      "tree": "408ae82bd87804915887ae839627b1f434a3ef79",
      "parents": [
        "46328f9a1cc8047d1e05095bc9f531038c5a4028"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 28 16:03:38 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 28 16:03:38 2016 +0200"
      },
      "message": "patch 7.4.2280\nProblem:    printf() doesn\u0027t handle infinity float values correctly.\nSolution:   Add a table with possible infinity values. (Dominique Pelle)\n"
    },
    {
      "commit": "44ca54aeb9a0eca41aea203786e33d82e69d0615",
      "tree": "1c4fc0784f50f9353e31341ae1946097a6ba565b",
      "parents": [
        "9992237a3e791fbc0c1ebf743ece1b75e1488410"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 27 15:41:32 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 27 15:41:32 2016 +0200"
      },
      "message": "patch 7.4.2267\nProblem:    Build fails on MS-Windows.\nSolution:   Add define to get isinf().\n"
    },
    {
      "commit": "9992237a3e791fbc0c1ebf743ece1b75e1488410",
      "tree": "1016f2132eb5318b0136ce8ad71921177322a5fb",
      "parents": [
        "76efafba2af36ae5f6c7b79b56c537fcbcdb386c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 27 15:26:35 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 27 15:26:35 2016 +0200"
      },
      "message": "patch 7.4.2266\nProblem:    printf() test fails on Windows. \"-inf\" is not used.\nSolution:   Check for Windows-specific values for \"nan\".  Add sign to \"inf\"\n            when appropriate.\n"
    },
    {
      "commit": "d29459baa61819e59961804ed258efac5733ec70",
      "tree": "11154e516a0d506808a6bb51d77add58af7d6e16",
      "parents": [
        "257095760732597983bdd026e791907b7980e295"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 26 22:29:11 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 26 22:29:11 2016 +0200"
      },
      "message": "patch 7.4.2263\nProblem:    :filter does not work for many commands.  Can only get matching\n            messages.\nSolution:   Make :filter work for :command, :map, :list, :number and :print.\n            Make \":filter!\" show non-matching lines.\n"
    },
    {
      "commit": "7b668e83d0635d082b7ec90d7d2aa30a9d7d8928",
      "tree": "5a766b46ad4395652cfe4d2545ee809047384fc9",
      "parents": [
        "1b58cdd160c2e0ada0f638679a2aa27e4665fc48"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 23 23:51:21 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 23 23:51:21 2016 +0200"
      },
      "message": "patch 7.4.2244\nProblem:    Adding pattern to \":oldfiles\" is not a generic solution.\nSolution:   Add the \":filter /pat/ cmd\" command modifier.  Only works for some\n            commands right now.\n"
    },
    {
      "commit": "91984b9034d3b698459622be277d963e0c6df60e",
      "tree": "329479725a833a6bc5ae7b42cf7c1686c6542597",
      "parents": [
        "e5a8f35b4286135f3469f3b00a6c2220553d9658"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 16 21:58:41 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 16 21:58:41 2016 +0200"
      },
      "message": "patch 7.4.2221\nProblem:    printf() does not support binary format.\nSolution:   Add %b and %B. (Ozaki Kiichi)\n"
    },
    {
      "commit": "e5a8f35b4286135f3469f3b00a6c2220553d9658",
      "tree": "a7505fde61e414d9664d99be9136677584277521",
      "parents": [
        "f5a39447a8ebe162ee62caa2ee502cd0e65eecaa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 16 21:30:54 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 16 21:30:54 2016 +0200"
      },
      "message": "patch 7.4.2220\nProblem:    printf() gives an error when the argument for %s is not a string.\n            (Ozaki Kiichi)\nSolution:   Behave like invoking string() on the argument. (Ken Takata)\n"
    },
    {
      "commit": "a5c0cc11330157c721748e317e8ff54b649610ca",
      "tree": "f5bee8724c19f93d4fabee012b7bdacd4797a982",
      "parents": [
        "623cf88f9c5ad49cce8e846af29a1bb9346c7481"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 30 16:40:39 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 30 16:40:39 2016 +0200"
      },
      "message": "patch 7.4.2125\nProblem:    Compiler warning for loss of data.\nSolution:   Add a type cast. (Christian Brabandt)\n"
    },
    {
      "commit": "d4f31dc45482e8db527ca044b9c3436b1e750006",
      "tree": "8bfae30d2e48daf3605412b1ab4e3b5cb8460475",
      "parents": [
        "b49edc11a1872fa99befa9a4a8ea6c8537868038"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 23 17:28:22 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 23 17:28:22 2016 +0200"
      },
      "message": "patch 7.4.2097\nProblem:    Warning from 64 bit compiler.\nSolution:   use size_t instead of int. (Mike Williams)\n"
    },
    {
      "commit": "b869c0da31716ff14bbfd63346d140d0a1d68af7",
      "tree": "5a182ff0c5cc310da39c4892cc0aed7903ee82bf",
      "parents": [
        "53bdec2ac9b994eee9c60f2ab9ad8a8afb2b9594"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 20 00:10:51 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 20 00:10:51 2016 +0200"
      },
      "message": "patch 7.4.2080\nProblem:    When using PERROR() on some systems assert_fails() does not see\n            the error.\nSolution:   Make PERROR() always report the error.\n"
    },
    {
      "commit": "b9644433d2728e99fab874e5e33147ad95d23a31",
      "tree": "e54ad05240a3009af2bf30c811ab5314ef4268d0",
      "parents": [
        "16ec3c9be3fcdc38530bddb12978bc5a7b98c0f6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 19 12:33:44 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 19 12:33:44 2016 +0200"
      },
      "message": "patch 7.4.2068\nProblem:    Not all arguments of trunc_string() are tested.  Memory access\n            error when running the message tests.\nSolution:   Add another test case. (Yegappan Lakshmanan)  Make it easy to run\n            unittests with valgrind.  Fix the access error.\n"
    },
    {
      "commit": "502ae4ba63561c98ac69af26cd9883bfd18d225f",
      "tree": "eeb8f200bd2cf8526bd96debaf35835fe03b1890",
      "parents": [
        "015102e91e978a0bb42a14461c132a85e8f7e1ea"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 16 19:50:13 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 16 19:50:13 2016 +0200"
      },
      "message": "patch 7.4.2051\nProblem:    No proper testing of trunc_string().\nSolution:   Add a unittest for message.c.\n"
    },
    {
      "commit": "f6acffbe83e622542d9fdf3066f51933e46e4954",
      "tree": "70664752ad37e9760fa63ce2c0f432896022628c",
      "parents": [
        "a06ecab7a5159e744448ace731036f0dc5f87dd4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 16 16:54:24 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 16 16:54:24 2016 +0200"
      },
      "message": "patch 7.4.2049\nProblem:    There is no way to get a list of the error lists.\nSolution:   Add \":chistory\" and \":lhistory\".\n"
    },
    {
      "commit": "38ee6b041e73ad31c3b6b99d56d20833b59b2b57",
      "tree": "e53ca4b85111a162ad9a68280c761d6226e7395b",
      "parents": [
        "5498a41f5a62c3877fee0185adf3bf7245a9a547"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 12 21:11:33 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 12 21:11:33 2016 +0200"
      },
      "message": "patch 7.4.2029\nProblem:    printf() does not work with 64 bit numbers.\nSolution:   use the \"L\" length modifier. (Ken Takata)\n"
    },
    {
      "commit": "79815f1ec77406f2f21a618c053e5793b597db7a",
      "tree": "7a99af24de8d373cc9a12408b39a57118a6577b9",
      "parents": [
        "fc4ad616073a169badfb2b9906fee2844f76f730"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 09 17:07:29 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 09 17:07:29 2016 +0200"
      },
      "message": "patch 7.4.2008\nProblem:    evalcmd() has a confusing name.\nSolution:   Rename to execute().  Make silent optional.  Support a list of\n            commands.\n"
    },
    {
      "commit": "bc5d6dd1dd1dc3a06e4e655fc9479529db288365",
      "tree": "a1a4a52ccd792948a0da290701ed3fbc14b34ed5",
      "parents": [
        "bf2cc5f36d5ffd5de445e6970602000c7869b65a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 07 23:04:18 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 07 23:04:18 2016 +0200"
      },
      "message": "patch 7.4.1999\nProblem:    evalcmd() doesn\u0027t work recursively.\nSolution:   Use redir_evalcmd instead of redir_vname.\n"
    },
    {
      "commit": "22fcfad29276bd5f317faf516637dcd491b96a12",
      "tree": "5787f5e2134b066406fd0d222c4f2f0d18e28024",
      "parents": [
        "8767f52fbfd4f053ce00a978227c95f1d7d323fe"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 18:17:26 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 18:17:26 2016 +0200"
      },
      "message": "patch 7.4.1976\nProblem:    Number variables are not 64 bits while they could be.\nSolution:   Add the num64 feature. (Ken Takata)\n"
    },
    {
      "commit": "a0055ad3a789b8eeb0c983d8a18d4bcaeaf456b8",
      "tree": "662c2862bc104d33e6da4071a3e75df8aede5e53",
      "parents": [
        "8e759ba8651428995b338b66c615367259f79766"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 02 18:37:05 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 02 18:37:05 2016 +0200"
      },
      "message": "patch 7.4.1876\nProblem:    Typing \"k\" at the hit-enter prompt has no effect.\nSolution:   Don\u0027t assume recursive use of the prompt if a character was typed.\n            (Hirohito Higashi)\n"
    },
    {
      "commit": "bea1ede1c59a11ca5bf9d91cd30b7b2937b9fb41",
      "tree": "6b366c0261b58234d79d89645e3c447ca7c23319",
      "parents": [
        "5d91646599a7b74310845e30a2a52ff197dc0ed7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 14 19:44:36 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 14 19:44:36 2016 +0200"
      },
      "message": "patch 7.4.1739\nProblem:    Messages test fails on MS-Windows.\nSolution:   Adjust the asserts.  Skip the \"messages maintainer\" line if not\n            showing all messages.\n"
    }
  ],
  "next": "52196b2dbe3b64b5054e1df3d3aa8fc65e30addc"
}
