)]}'
{
  "log": [
    {
      "commit": "e5a2dc87fd9d63dfd0d9c379e363ee8b8c05b14c",
      "tree": "715a114546d458acfe85c5d0fe94fed963842ce9",
      "parents": [
        "5afd081cd3d0f3dfbc7f6b157a8caad0ce6394ee"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 03 19:52:05 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 03 19:52:05 2021 +0100"
      },
      "message": "patch 8.2.2289: Vim9: \u0027cpo\u0027 can become empty\n\nProblem:    Vim9: \u0027cpo\u0027 can become empty.\nSolution:   Use empty_option instead of an empty string.  Update quickfix\n            buffer after restoring \u0027cpo\u0027.  (closes #7608)\n"
    },
    {
      "commit": "13656f02e457fb68cd7e72412fc24ccac02fb06e",
      "tree": "1dd0d878cfb3230aab6e52beb6b6e5849816b937",
      "parents": [
        "03290b8444b69c6d7307755770467bc488384e1a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 19 17:55:54 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 19 17:55:54 2020 +0100"
      },
      "message": "patch 8.2.2163: crash when discarded exception is the current exception\n\nProblem:    Crash when discarded exception is the current exception.\nSolution:   Compare the execption with current_exception. (closes #7499)\n"
    },
    {
      "commit": "39ca4127a094d8aca6f77c01be4f3fea506d5cb7",
      "tree": "c9c076a453569a36b9a7eea90bc06e5898ec8e28",
      "parents": [
        "955347cc7e78352a5d49540573ae958ad45e6386"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 20 14:25:07 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 20 14:25:07 2020 +0200"
      },
      "message": "patch 8.2.1870: Vim9: no need to keep all script variables\n\nProblem:    Vim9: no need to keep all script variables.\nSolution:   Only keep script variables when a function was defined that could\n            use them.  Fix freeing static string on exit.\n"
    },
    {
      "commit": "fbbcd00367e1a4fafd047d42ffce0e5dce88925c",
      "tree": "93f997f2b6fad6457ff728399b8be9da35ad1ead",
      "parents": [
        "8d739de43b84ef7817b3b5b826d1cbfe7572a62a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 15 12:46:44 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 15 12:46:44 2020 +0200"
      },
      "message": "patch 8.2.1846: Vim9: block variables are not found in compiled function\n\nProblem:    Vim9: variables declared in a local block are not found in\n            when a function is compiled.\nSolution:   Look for script variables in sn_all_vars.\n"
    },
    {
      "commit": "8d739de43b84ef7817b3b5b826d1cbfe7572a62a",
      "tree": "b7aca1586e2b679eec84ef76e4ba451ca8c15669",
      "parents": [
        "3d30af8783bf43fbfece641ec81ad8d2f01b3735"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 14 19:39:19 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 14 19:39:19 2020 +0200"
      },
      "message": "patch 8.2.1845: Vim9: function defined in a block can\u0027t use block variables\n\nProblem:    Vim9: function defined in a block can\u0027t use variables defined in\n            that block.\nSolution:   First step: Make a second hashtab that holds all script variables,\n            also block-local ones, with more information.\n"
    },
    {
      "commit": "9becdf2b98e56d5eb193f3413d706ea433269216",
      "tree": "5733bdcc5289fed0156acb11d6e9e32bef266a06",
      "parents": [
        "d747548c664815bb6e8520afa90b6108e1997591"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 10 21:33:48 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 10 21:33:48 2020 +0200"
      },
      "message": "patch 8.2.1826: Vim9: cannot use a {} block at script level\n\nProblem:    Vim9: cannot use a {} block at script level.\nSolution:   Recognize a {} block.\n"
    },
    {
      "commit": "d747548c664815bb6e8520afa90b6108e1997591",
      "tree": "d52280f328ea909e0747398f408123ea66516955",
      "parents": [
        "fcdc5d83fbfd7ddce634769ea902e58c87f27f20"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 10 20:31:37 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 10 20:31:37 2020 +0200"
      },
      "message": "patch 8.2.1825: Vim9: accessing freed memory\n\nProblem:    Vim9: accessing freed memory.\nSolution:   Clear sv_name when the variable is deleted.\n"
    },
    {
      "commit": "fcdc5d83fbfd7ddce634769ea902e58c87f27f20",
      "tree": "eefebdaddad609fcd533c83744099629bd8d6112",
      "parents": [
        "28f224b2c1bd2fcdee7b4fe2c64826e1cff08f39"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 10 19:07:09 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 10 19:07:09 2020 +0200"
      },
      "message": "patch 8.2.1824: Vim9: variables at the script level escape their scope\n\nProblem:    Vim9: variables at the script level escape their scope.\nSolution:   When leaving a scope remove variables declared in it.\n"
    },
    {
      "commit": "4f25b1aba050b85fa97ca2316aa04dd4b0b22530",
      "tree": "9f051b3953c6eb88e6d5fc1cc5728d348fe626b3",
      "parents": [
        "a953b5cf4f291875b805262eebd361e502de8c92"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 10 19:25:05 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 10 19:25:05 2020 +0200"
      },
      "message": "patch 8.2.1653: expand(\u0027\u003cstack\u003e\u0027) does not include the final line number\n\nProblem:    Expand(\u0027\u003cstack\u003e\u0027) does not include the final line number.\nSolution:   Add the line nuber. (closes #6927)\n"
    },
    {
      "commit": "a5d0423fa16f18b4576a2a07e50034e489587a7d",
      "tree": "67bfe997079bb1a9f17db6a829b29d6369a922a3",
      "parents": [
        "d66cdcd43a598825add743bc95642cd8ed705252"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 26 15:37:02 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 26 15:37:02 2020 +0200"
      },
      "message": "patch 8.2.1297: when a test fails it\u0027s often not easy to see where\n\nProblem:    When a test fails it\u0027s often not easy to see what the call stack\n            is.\nSolution:   Add more entries from the call stack in the exception message.\n"
    },
    {
      "commit": "2d06bfde29bd3a62fc85823d2aa719ef943bd319",
      "tree": "dac4bc628fbc1b9414f8901375abe0b9e975a736",
      "parents": [
        "8930caaa1a283092aca81fdbc3fcf15c7eadb197"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 23 17:16:18 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 23 17:16:18 2020 +0200"
      },
      "message": "patch 8.2.1281: the \"trailing characters\" error can be hard to understand\n\nProblem:    The \"trailing characters\" error can be hard to understand.\nSolution:   Add the trailing characters to the message.\n"
    },
    {
      "commit": "8930caaa1a283092aca81fdbc3fcf15c7eadb197",
      "tree": "b88ad868a29b0c26a4224cce4c69f35b9655dfec",
      "parents": [
        "8d5f6af5e5a5edfd3fa95f33540c204f4e74331e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 23 16:37:03 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 23 16:37:03 2020 +0200"
      },
      "message": "patch 8.2.1280: Ex command error cannot contain an argument\n\nProblem:    Ex command error cannot contain an argument.\nSolution:   Add ex_errmsg() and translate earlier.  Use e_trailing_arg where\n            possible.\n"
    },
    {
      "commit": "e6b5324e3a3d354363f3c48e784c42ce3e77453f",
      "tree": "7e4ddd66d330a898256b3ea8060768a761aa2cc2",
      "parents": [
        "086eb18ba16164ca5258068cff9c4b2db742f2ef"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 01 17:28:33 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 01 17:28:33 2020 +0200"
      },
      "message": "patch 8.2.1110: Vim9: line continuation does not work in function arguments\n\nProblem:    Vim9: line continuation does not work in function arguments.\nSolution:   Pass \"evalarg\" to get_func_tv().  Fix seeing double quoted string\n            as comment.\n"
    },
    {
      "commit": "b7a78f7a6713f07d2fcad0b27dea22925c7b1cdf",
      "tree": "f1eb802f74a924f91ba0ceddde5db8229c75aeda",
      "parents": [
        "d5053d015a957b343ad9c9e45e0abd2978f10cf0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 28 18:43:40 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 28 18:43:40 2020 +0200"
      },
      "message": "patch 8.2.1080: Vim9: no line break allowed in a for loop\n\nProblem:    Vim9: no line break allowed in a for loop.\nSolution:   Skip line breaks in for command.\n"
    },
    {
      "commit": "e40fbc2ca9fda07332a4da5af1fcaba91bed865b",
      "tree": "66b7aa861de9c07cc5d04c5647f0bee8d61cb19e",
      "parents": [
        "ab19d495fd880b25a38d58cbeb5b21e4d0ee5835"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 27 18:06:45 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 27 18:06:45 2020 +0200"
      },
      "message": "patch 8.2.1071: Vim9: no line break allowed inside a lambda\n\nProblem:    Vim9: no line break allowed inside a lambda.\nSolution:   Handle line break inside a lambda in Vim9 script.\n"
    },
    {
      "commit": "b171fb179053fa631fec74911b5fb9374cb6a8a1",
      "tree": "c45ae9287bf07033cc4f3bf43529b7548ba432c9",
      "parents": [
        "9d40c63c7dc8c3eb3886c58dcd334bc7f37eceba"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 24 20:34:03 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 24 20:34:03 2020 +0200"
      },
      "message": "patch 8.2.1049: Vim9: leaking memory when using continuation line\n\nProblem:    Vim9: leaking memory when using continuation line.\nSolution:   Keep a pointer to the continuation line in evalarg_T.  Centralize\n            checking for a next command.\n"
    },
    {
      "commit": "5409f5d8c95007216ae1190565a7a8ee9ebd7100",
      "tree": "cbc94bc8f6560299b6ef2224f526ab53c7534bc6",
      "parents": [
        "b7e2483655d9b68df0c7349918027d800051a28a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 24 18:37:35 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 24 18:37:35 2020 +0200"
      },
      "message": "patch 8.2.1047: Vim9: script cannot use line continuation like :def function\n\nProblem:    Vim9: script cannot use line continuation like in a :def function.\nSolution:   Pass the getline function pointer to the eval() functions.  Use it\n            for addition and multiplication operators.\n"
    },
    {
      "commit": "71ccd03ee8a43b20000214a9c99dcc90f039edca",
      "tree": "b5e89de8afbba2a8981d68b578514df046cb4aad",
      "parents": [
        "722e505d1a55dfde5ab62241d10da91d2e10c3c1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 12 22:59:11 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 12 22:59:11 2020 +0200"
      },
      "message": "patch 8.2.0967: unnecessary type casts for vim_strnsave()\n\nProblem:    Unnecessary type casts for vim_strnsave().\nSolution:   Remove the type casts.\n"
    },
    {
      "commit": "25e0f5863e9010a75a1ff0d04e8f886403968755",
      "tree": "bcb0891919dbc85578b8483487f2ef89ede0f93c",
      "parents": [
        "2eec37926db6d31beb36f162ac00357a30c093c8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 25 22:36:50 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 25 22:36:50 2020 +0200"
      },
      "message": "patch 8.2.0823: Vim9: script reload test is disabled\n\nProblem:    Vim9: script reload test is disabled.\nSolution:   Compile a function in the context of the script where it was\n            defined.  Set execution stack for compiled function.  Add a test\n            that an error is reported for the right file/function.\n"
    },
    {
      "commit": "32e351179eacfc84f64cd5029e221582d400bb38",
      "tree": "f82085603b8f50db86eed7c2d39f9922aa35eebd",
      "parents": [
        "e06a28f5e30f439545ac125d54ffc4e6bd6daada"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 14 22:41:15 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 14 22:41:15 2020 +0200"
      },
      "message": "patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase\n\nProblem:    Vim9: expressions are evaluated in the discovery phase.\nSolution:   Bail out if an expression is not a constant.  Require a type for\n            declared constants.\n"
    },
    {
      "commit": "2c5ed4e3300378ce76c8d9c3818d6f73e5119f68",
      "tree": "1fa5e72a63e160710ee6fd59fef09c8f334d0808",
      "parents": [
        "faac410409a8d693a0326ad9db42dca85419a391"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 20 19:42:10 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 20 19:42:10 2020 +0200"
      },
      "message": "patch 8.2.0612: Vim9: no check for space before #comment\n\nProblem:    Vim9: no check for space before #comment.\nSolution:   Add space checks.\n"
    },
    {
      "commit": "6e949784be29bfaea6e49a9d8231481eae10fab6",
      "tree": "f287fb048090fac72a6ad88e776081855ca490cf",
      "parents": [
        "fbda69b309ca1c9748eaac38ab85b9e3425bf834"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 13 17:21:00 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 13 17:21:00 2020 +0200"
      },
      "message": "patch 8.2.0570: Vim9: no error when omitting type from argument\n\nProblem:    Vim9: no error when omitting type from argument.\nSolution:   Enforce specifying argument types.\n"
    },
    {
      "commit": "e8c4abbbd711af8fd3ed85ea69e9ac3d63a0d879",
      "tree": "0101dc0b69343972a82db39af16612334fbc0a8d",
      "parents": [
        "2c869deeb7658b6b02e525ff9412fc4a0c968688"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 02 21:13:25 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 02 21:13:25 2020 +0200"
      },
      "message": "patch 8.2.0502: Vim9: some code is not tested\n\nProblem:    Vim9: some code is not tested.\nSolution:   Add more tests.  Fix uncovered problems.\n"
    },
    {
      "commit": "8a7d6542b33e5d2b352262305c3bfdb2d14e1cf8",
      "tree": "8e5f241129a1c690ea81d697a72fb4c1704c0cb6",
      "parents": [
        "1d9215b9aaa120b9d78fee49488556f73007ce78"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 15:56:19 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 15:56:19 2020 +0100"
      },
      "message": "patch 8.2.0149: maintaining a Vim9 branch separately is more work\n\nProblem:    Maintaining a Vim9 branch separately is more work.\nSolution:   Merge the Vim9 script changes.\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": "ddef129160ff0676e5da482071fb2fdc2988ac34",
      "tree": "8a7e0327a604dda5257739139ef271b587a345e9",
      "parents": [
        "559b9c68fe550f3af63d42e0838622aab1ceb1b3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 16 17:10:33 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 16 17:10:33 2019 +0100"
      },
      "message": "patch 8.2.0013: not using a typedef for condstack\n\nProblem:    Not using a typedef for condstack.\nSolution:   Add a typedef.\n"
    },
    {
      "commit": "217e1b8359447f5550dcb0d1ee43380a90c253c5",
      "tree": "137e8b7d6f27848c95caa47e2fc13a4dc4c50d29",
      "parents": [
        "5d18efecfd6c45d69f55268948a22cd0465bb955"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 01 21:41:28 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 01 21:41:28 2019 +0100"
      },
      "message": "patch 8.1.2379: using old C style comments\n\nProblem:    Using old C style comments.\nSolution:   Use // comments where appropriate.\n"
    },
    {
      "commit": "67a2deb9cb4ac2224cb1e4d240a5d0659f036264",
      "tree": "024c2f55f38fb92a7da3c6887dbd0c510c7ae6cb",
      "parents": [
        "a106e6cde682bda4ad10ed745acb51975fcb02e0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 25 00:05:32 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 25 00:05:32 2019 +0100"
      },
      "message": "patch 8.1.2341: not so easy to interrupt a script programatically\n\nProblem:    Not so easy to interrupt a script programatically.\nSolution:   Add the interrupt() function. (Yasuhiro Matsumoto, closes #2834)\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": "25e42231d3ee27feec2568fa4be2aa2bfba82ae5",
      "tree": "8df08d27ff06c8b52054576bc68814d05553697a",
      "parents": [
        "7cc535175a233c6f02cdb5a364b3590560f5bfcb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 04 15:04:10 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 04 15:04:10 2019 +0200"
      },
      "message": "patch 8.1.1807: more functions can be used as a method\n\nProblem:    More functions can be used as a method.\nSolution:   Add append(), appendbufline(), assert_equal(), etc.\n            Also add the :eval command.\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": "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": "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": "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": "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": "cae24be4a808d60313913cc6feea6c2bee2e2a42",
      "tree": "5759bd8d564c2160ac7ab204cc3da7cc9ed32ba9",
      "parents": [
        "163095f088a7c29710a16c75bb56229dd3b4116a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 10 22:12:10 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 10 22:12:10 2017 +0200"
      },
      "message": "patch 8.0.0705: crash when there is an error in a timer callback\n\nProblem:    Crash when there is an error in a timer callback. (Aron Griffis,\n            Ozaki Kiichi)\nSolution:   Check did_throw before discarding an exception.  NULLify\n            current_exception when no longer valid.\n"
    },
    {
      "commit": "8a5883b7488e492419dde7e1637cc72f2d566ba4",
      "tree": "512e019310a24c164eb3d5577fcc873d3df4949b",
      "parents": [
        "95f096030ed1a8afea028f2ea295d6f6a70f466f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 10 20:20:05 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 10 20:20:05 2016 +0100"
      },
      "message": "patch 8.0.0075\nProblem:    Using number for exception type lacks type checking.\nSolution:   Use an enum.\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": "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": "9ef00be261115acb5bae3b3ca45c1d86a19ba2c7",
      "tree": "75806efb87451232bf5867e833aaef597d45733a",
      "parents": [
        "be82c254862e475a582c0717455e1db6bf96b0d0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 06 14:58:28 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 06 14:58:28 2016 +0100"
      },
      "message": "patch 7.4.1500\nProblem:    Should_free flag set to FALSE.\nSolution:   Set it to TRUE. (Neovim 4415)\n"
    },
    {
      "commit": "768ce2435ae956041579ef2d26e3e9d3a2444e1e",
      "tree": "9ad823a034dec576edaf9552e937c6719db9fa1f",
      "parents": [
        "ea8c219ca852cc8eaf603b1bf475edf95e2850cf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 19:46:12 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 19:46:12 2016 +0100"
      },
      "message": "patch 7.4.1282\nProblem:    Crash when evaluating the pattern of \":catch\" causes an error.\n            (Dominique Pelle)\nSolution:   Block error messages at this point.\n"
    },
    {
      "commit": "78c0b7d43e5048fd71d12816659667834170c76d",
      "tree": "f2b1c0d69cb07d050087eb1695f5c4457248d94c",
      "parents": [
        "7454a06e2642d2b37afad1c5e71cec68081ca4ff"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 15:52:46 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 15:52:46 2016 +0100"
      },
      "message": "patch 7.4.1206\nProblem:    Using old style function declarations.\nSolution:   Change to new style function declarations. (script by Hirohito\n            Higashi)\n"
    },
    {
      "commit": "d25c16e2f2776d50245bf31d6e4d5364f12d188e",
      "tree": "8eefb6b460409f4d5351bd7fa4cac4ea032714b3",
      "parents": [
        "f28dbcea371b3a35727d91afc90fb90e0527d78a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 29 22:13:30 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 29 22:13:30 2016 +0100"
      },
      "message": "patch 7.4.1197\nProblem:    Still using __ARGS.\nSolution:   Remove __ARGS in several files. (script by Hirohito Higashi)\n"
    },
    {
      "commit": "9fee7d4729af19e7ce4950ede8de358c5eeb3772",
      "tree": "5122d7777963f3811c2a298ce56e372037b5424d",
      "parents": [
        "e88a5f3a2c18426a68c4591d61bc612276878b46"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 28 17:04:43 2013 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 28 17:04:43 2013 +0100"
      },
      "message": "updated for version 7.4.107\nProblem:    Python: When vim.eval() encounters a Vim error, a try/catch in the\n            Python code doesn\u0027t catch it. (Yggdroot Chen)\nSolution:   Throw exceptions on errors in vim.eval(). (ZyX)\n"
    },
    {
      "commit": "473de61b0409f8f8c86585733f099f882122b280",
      "tree": "0c2b031a29a283c70d63368c38031517572d954c",
      "parents": [
        "cd9c46265e4a12cf716187bc8188c7399797f806"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 08 18:19:48 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 08 18:19:48 2013 +0200"
      },
      "message": "updated for version 7.3.1149\nProblem:    New regexp engine: Matching plain text could be faster.\nSolution:   Detect a plain text match and handle it specifically.  Add\n            vim_regfree().\n"
    },
    {
      "commit": "84a05acc8c341c2be383198496764992ae971a46",
      "tree": "061887e2e1327a2d0c688cba306b8ec66b3f8477",
      "parents": [
        "84e0f6ca9adcbdca254060713878ebc29faaaa65"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 06 04:24:17 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 06 04:24:17 2013 +0200"
      },
      "message": "updated for version 7.3.925\nProblem:    Typos in source files.\nSolution:   Fix the typos. (Ken Takata)\n"
    },
    {
      "commit": "af0167fa3917bcaf4e066a08977068b1964ac78d",
      "tree": "8d99a0dc0e3b95b8a9404728841943f843142573",
      "parents": [
        "8f0b2d46c7020c2ae097c748940f74b3af1383f7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 16 15:31:32 2009 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 16 15:31:32 2009 +0000"
      },
      "message": "updated for version 7.2-177\n"
    },
    {
      "commit": "ed53fb9a48f26bc603c74adcc73473eacfdca242",
      "tree": "3e599e7af4b35de77f73fcac11422bf2794e23e8",
      "parents": [
        "e0ca7b2b04fda8487c6a161cc4a3b044f877c618"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 24 20:50:24 2007 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 24 20:50:24 2007 +0000"
      },
      "message": "updated for version 7.1-162\n"
    },
    {
      "commit": "150cc270405d4638e7ac0df6934a1c9083540f0d",
      "tree": "f62b746daf4da883a7d6eaa016a8adfbf741dd73",
      "parents": [
        "9225efbc96378375139fef343f6ee88bc266013c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 01 13:47:46 2007 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 01 13:47:46 2007 +0000"
      },
      "message": "updated for version 7.1-047\n"
    },
    {
      "commit": "ccc18222dd2b40397536703923842f026a6141f0",
      "tree": "5ebf27663225d11e70f382e51236b9f3f9890ed4",
      "parents": [
        "2c7a763832663d5878ff37a58c81fbe95527084a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 10 18:25:20 2007 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 10 18:25:20 2007 +0000"
      },
      "message": "updated for version 7.1b\n"
    },
    {
      "commit": "4632d298ada36b48738795ecdc44cd7394acd25e",
      "tree": "921c0a8d10c2495486d2afd898220bab2cb8dda5",
      "parents": [
        "3d20ca1ad143b900c5f2628442ae8436c2f9673f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 28 17:36:37 2006 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 28 17:36:37 2006 +0000"
      },
      "message": "updated for version 7.0-172\n"
    },
    {
      "commit": "eb3593b38b7b6b658e93ad05d6caf76d58cc0c35",
      "tree": "39210f19a86e4db2914523b0fde4a5ff9d345c16",
      "parents": [
        "57657d85c6c3d812e99b5e5d5161c07c66ac7dc7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 22 22:33:57 2006 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 22 22:33:57 2006 +0000"
      },
      "message": "updated for version 7.0e06\n"
    },
    {
      "commit": "57657d85c6c3d812e99b5e5d5161c07c66ac7dc7",
      "tree": "35b6845dc38717148718ac5cf70553b8c2cb96d8",
      "parents": [
        "fc1421eb53b17aa58b01a9c07ba2007eb4a1aa4f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 21 22:12:41 2006 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 21 22:12:41 2006 +0000"
      },
      "message": "updated for version 7.0e05\n"
    },
    {
      "commit": "a93fa7ee7856b54d3778e613c7b7e4b76aaeb2af",
      "tree": "4797f43c4e1694903d93da1b61ba972955cb6aad",
      "parents": [
        "b21e5843e53d3582df5f521f57e7e52e83d51d10"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 17 22:14:47 2006 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 17 22:14:47 2006 +0000"
      },
      "message": "updated for version 7.0e01\n"
    },
    {
      "commit": "f461c8e7f8ce2fd2ac3367680ec4c540f04ab259",
      "tree": "bfacc7b1f4c7b6087026c9e8c39bb1f7b305d22f",
      "parents": [
        "ea408854a8360b6925122ce7709b424ab3005209"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 25 23:04:51 2005 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 25 23:04:51 2005 +0000"
      },
      "message": "updated for version 7.0093\n"
    },
    {
      "commit": "5c06f8b043e413d887ceb1af850ac7ba5034151e",
      "tree": "0f7254afd8be58a253c6c73dc9e4711b2ad5bd3e",
      "parents": [
        "a04f10b6066952725b53c3bda9ce259ab29a5e3b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 31 22:14:58 2005 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 31 22:14:58 2005 +0000"
      },
      "message": "updated for version 7.0077\n"
    },
    {
      "commit": "051b782fa0ed834d7b4f80e5f1540d4d96e5f9d7",
      "tree": "eadaef546274775aaa08c66865db80b33e98abdb",
      "parents": [
        "9c13b359b496c5268702776105a9f87b269e84f3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 19 21:00:46 2005 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 19 21:00:46 2005 +0000"
      },
      "message": "updated for version 7.0073\n"
    },
    {
      "commit": "3a3a72348d1de85043b1be4dee14c11a24d26add",
      "tree": "49b228aa3ba957c2a8cafcb77480c66927985937",
      "parents": [
        "f3bae6935a55ddef3a7a7636596f454ddfd821cf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 17 22:16:15 2005 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 17 22:16:15 2005 +0000"
      },
      "message": "updated for version 7.0041\n"
    },
    {
      "commit": "de8866baa831be671f0be423a317178b8baf547a",
      "tree": "1e9bf9f760264bb86aa109fa14fb173536518a59",
      "parents": [
        "8a7e52f4c22c5c29d2ee4c5c9654cd67ce31970b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 06 23:24:37 2005 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 06 23:24:37 2005 +0000"
      },
      "message": "updated for version 7.0032\n"
    },
    {
      "commit": "1280586e4b3b88e2ce0e9a66c49950b0768fa3a9",
      "tree": "7d29948f64769942ecd5c50fd80d9fa1d41ae5fa",
      "parents": [
        "06fb435a1c43a1ba114370bc59d8362830885513"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 22:16:17 2005 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 22:16:17 2005 +0000"
      },
      "message": "updated for version 7.0031\n"
    },
    {
      "commit": "fca34d6d941a6af50ebebe742aae249f207c67b1",
      "tree": "bb61aca0b91c8e1cafa622313f0c2b503a44b8e2",
      "parents": [
        "b11160ef88e87d800e4c76330585d863656cce76"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 04 21:38:36 2005 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 04 21:38:36 2005 +0000"
      },
      "message": "updated for version 7.0030\n"
    },
    {
      "commit": "293ee4d421cd55f4a3c014c1c26edf02f718cc83",
      "tree": "ae4856e718b752ea0c6c807912bfbb51967fae80",
      "parents": [
        "741b07e0092eb6d7b81c9cbe149196c6cf9d5bbe"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 09 21:34:53 2004 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 09 21:34:53 2004 +0000"
      },
      "message": "updated for version 7.0021\n"
    },
    {
      "commit": "c0197e2815208269fa9ba2fba95230138ec39ceb",
      "tree": "21db1c3acd16fb095a8e34ce2e15ed87275cbd79",
      "parents": [
        "15d0a8c77dad867b69822e2fd8f9f6bbcf765c48"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 13 20:26:32 2004 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 13 20:26:32 2004 +0000"
      },
      "message": "updated for version 7.0016\n"
    },
    {
      "commit": "d4755bb0e04fca334675f1503bd6474b017a9bba",
      "tree": "8be8df859191e78ee9eef80d3b341fd5d0c1b81b",
      "parents": [
        "269ec658f0fad22b2bf9f71b06a4e6e10277f0e5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 02 19:12:26 2004 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 02 19:12:26 2004 +0000"
      },
      "message": "updated for version 7.0014\n"
    },
    {
      "commit": "269ec658f0fad22b2bf9f71b06a4e6e10277f0e5",
      "tree": "450e57b10e8afd1c2a0c49e698a73d508781f67c",
      "parents": [
        "5eb86f91992f5291b8b472d3e1be1888508777e6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 29 08:43:53 2004 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 29 08:43:53 2004 +0000"
      },
      "message": "updated for version 7.0013\n"
    },
    {
      "commit": "071d4279d6ab81b7187b48f3a0fc61e587b6db6c",
      "tree": "221cbe3c40e043163c06f61c52a7ba2eb41e12ce",
      "parents": [
        "b4210b3bc14e2918f153a7307530fbe6eba659e1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 13 20:20:40 2004 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 13 20:20:40 2004 +0000"
      },
      "message": "updated for version 7.0001\n"
    }
  ]
}
