)]}'
{
  "log": [
    {
      "commit": "b204990346ca857802b174afe8a7fbb05e4f318e",
      "tree": "6660d87cac14e978841c1eaf55994bf8a85f84a9",
      "parents": [
        "7cf0c114d690c91ac88c92a1a6f1b1935cb6410f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 24 12:53:53 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 24 12:53:53 2021 +0100"
      },
      "message": "patch 8.2.2400: Vim9: compiled functions are not profiled\n\nProblem:    Vim9: compiled functions are not profiled.\nSolution:   Add initial changes to profile compiled functions.  Fix that a\n            script-local function was hard to debug.\n"
    },
    {
      "commit": "0d3de8cb590aed90be71d96eb3dbc6addf80bb11",
      "tree": "2da65733141708db9e04ec647a5db55226b9670a",
      "parents": [
        "b3005ce191d27fd2f234df4969d5b58fda9c1940"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 22 20:46:27 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 22 20:46:27 2021 +0100"
      },
      "message": "patch 8.2.2391: memory leak when creating a global function with closure\n\nProblem:    Memory leak when creating a global function with closure.\nSolution:   Create a separate partial for every instantiated function.\n"
    },
    {
      "commit": "f898f7c68dc06def1a5ae02ce82a52a82af37cc4",
      "tree": "2b9b89dce0de0c225e98513ece9f2b6d31a63905",
      "parents": [
        "9ebcf231bdccc1673cc92b20f5190fc577ad29d0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 16 18:09:52 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 16 18:09:52 2021 +0100"
      },
      "message": "patch 8.2.2364: Vim9: line break in lambda accesses freed memory\n\nProblem:    Vim9: line break in lambda accesses freed memory.\nSolution:   Make a copy of the return type. (closes #7664)\n"
    },
    {
      "commit": "648ea76e1d8ca9a9788f88d0d96d0cf0653006bb",
      "tree": "ecf8cdbfce3d100d8754489dd703a617f2829093",
      "parents": [
        "883cf97f109d2ff281cf77f7b2e3bb44aced7cb3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 15 19:04:32 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 15 19:04:32 2021 +0100"
      },
      "message": "patch 8.2.2357: Vim9: crash when parsing function return type fails\n\nProblem:    Vim9: crash when parsing function return type fails.\nSolution:   Bail out and set return type to \"unknown\". (closes #7685)\n"
    },
    {
      "commit": "b657198cb30765468451d7f68fce49b5b4000c5d",
      "tree": "f08af40d882cbc7e6d0d0f2cc4c0df691bcf7491",
      "parents": [
        "832ea89ca90cdff019ee7cf31d5c44bfa164313a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 08 22:24:19 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 08 22:24:19 2021 +0100"
      },
      "message": "patch 8.2.2316: Vim9: cannot list a lambda function\n\nProblem:    Vim9: cannot list a lambda function.\nSolution:   Support the \u003clambda\u003e9 notation, like :disassemble. (closes #7634)\n"
    },
    {
      "commit": "832ea89ca90cdff019ee7cf31d5c44bfa164313a",
      "tree": "64270a81fd132589a82c30d6b70dfaae2393649e",
      "parents": [
        "299f3036ec21cc9735846b2e0dfdfc5a78b26c1c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 08 21:55:26 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 08 21:55:26 2021 +0100"
      },
      "message": "patch 8.2.2315: Vim9: \"enddef\" as dict key misintepreted as function end\n\nProblem:    Vim9: \"enddef\" as dict key misintepreted as function end.\nSolution:   Check for following colon. (closes #7640)\n"
    },
    {
      "commit": "328eac2b5d1569c57e1130ecb9f7cca733b84d78",
      "tree": "5905788ba7946b3fc27ec5275ee2a33196f5c91f",
      "parents": [
        "ebbf11c1198b7aec8a1a55f7231ecb4f1a432fa0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 07 19:23:08 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 07 19:23:08 2021 +0100"
      },
      "message": "patch 8.2.2308: Vim9: no error when assigning lambda to funcref\n\nProblem:    Vim9: no error when assigning lambda to funcref without return\n            value.\nSolution:   Default return value to \"any\". (closes #7629)\n"
    },
    {
      "commit": "32b3f820107139d7edf0c592bb06f090c3eb6c51",
      "tree": "93d3d6c7ad5bb7689b5ca60be54a15f39f9ef450",
      "parents": [
        "b23279d7a2d28de5df942924b77cf23672fc684f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 06 21:59:39 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 06 21:59:39 2021 +0100"
      },
      "message": "patch 8.2.2306: Vim9: when using function reference type is not checked\n\nProblem:    Vim9: when using function reference type is not checked.\nSolution:   When using a function reference lookup the type and check the\n            argument types. (issue #7629)\n"
    },
    {
      "commit": "cef1270dec61efb3544f26ceea0f6a4f57e0198a",
      "tree": "23644f11905d6e4ce7af73e3c80d52bdd0ee399b",
      "parents": [
        "0ea04408653be843e37d03ce574f5d2eae682339"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 04 14:09:43 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 04 14:09:43 2021 +0100"
      },
      "message": "patch 8.2.2298: Vim9: comment right after \"(\" of function not recognized\n\nProblem:    Vim9: comment right after \"(\" of function not recognized.\nSolution:   Do not skip over white space before calling get_function_args().\n            (closes #7613)\n"
    },
    {
      "commit": "e7a73e07625b64a40671a0007ad38a34cbe9d1ee",
      "tree": "178142087cbd6bda86fed3cf18d5cc20788aa570",
      "parents": [
        "b8ba9b919708f44b718c17f1fec85b1df8050a17"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 01 19:17:55 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 01 19:17:55 2021 +0100"
      },
      "message": "patch 8.2.2266: Vim9: it can be hard to see where white space is missing\n\nProblem:    Vim9: it can be hard to see where white space is missing.\nSolution:   Mention the text where the error was seen. (closes #7580)\n"
    },
    {
      "commit": "b8ba9b919708f44b718c17f1fec85b1df8050a17",
      "tree": "190e855888a18be913173b5eab36772e9cb15f72",
      "parents": [
        "5178b1b02fc96f42d62199a4be9184c2aea8a49a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 01 18:54:34 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 01 18:54:34 2021 +0100"
      },
      "message": "patch 8.2.2265: error message for missing endfunc/enddef is last line\n\nProblem:    Error message for missing endfunc/enddef is last line.\nSolution:   Report the line where the function starts. (closes #7582)\n"
    },
    {
      "commit": "5178b1b02fc96f42d62199a4be9184c2aea8a49a",
      "tree": "19f56b937a4af6ca509310d6b03a49aa830dd48c",
      "parents": [
        "69f7050cebb0f069d6e39571961b9bbe8531c69a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 01 18:43:51 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 01 18:43:51 2021 +0100"
      },
      "message": "patch 8.2.2264: Vim9: no error for mismatched :endfunc or :enddef\n\nProblem:    Vim9: no error for mismatched :endfunc or :enddef.\nSolution:   Check for the mismatch. (issue #7582)\n"
    },
    {
      "commit": "adc8e4464563a2952c10362d396bb4a9f28cd12d",
      "tree": "ebc1d9b8540d137948274a4c20a1dceb8dfafdfa",
      "parents": [
        "1779ff48427931736998a6e5621b5cbe4d99c3e3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 31 18:28:18 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 31 18:28:18 2020 +0100"
      },
      "message": "patch 8.2.2256: Vim9: cannot use function( after line break in :def function\n\nProblem:    Vim9: cannot use function( after line break in :def function.\nSolution:   Check for \"(\" after \"function\". (closes #7581)\n"
    },
    {
      "commit": "ca2f7e7af32d51c2be378a5298bc85958c877653",
      "tree": "2eb2425180021e1c37c4275f5486ddf252791674",
      "parents": [
        "6b55377303968e1624339cd95053201d5acdcaa2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 31 13:39:54 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 31 13:39:54 2020 +0100"
      },
      "message": "patch 8.2.2253: Vim9: expr test fails\n\nProblem:    Vim9: expr test fails.\nSolution:   Add missing assignment.\n"
    },
    {
      "commit": "8242ebbdba64cfa5c504c9d8dfb802076d99c602",
      "tree": "b5a016fbb3e636ca8ce0488d227d21f94be36ded",
      "parents": [
        "864a28b6a6ae4f1a56e230be26bc6d13e3f8b3d9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 29 11:15:01 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 29 11:15:01 2020 +0100"
      },
      "message": "patch 8.2.2242: Vim9: bar line continuation does not work at script level\n\nProblem:    Vim9: line continuation with bar does not work at script level.\nSolution:   Check for Vim9 script.\n"
    },
    {
      "commit": "dcc58e031ded8b846a39146112b9b075cbb977d9",
      "tree": "7c72a702e15709f6216ff3bc711ed23045af2804",
      "parents": [
        "9b8d62267f583d5dc042920adb1de046959ad11d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 28 20:53:21 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 28 20:53:21 2020 +0100"
      },
      "message": "patch 8.2.2239: Vim9: concatenating lines with backslash is inconvenient\n\nProblem:    Vim9: concatenating lines with backslash is inconvenient.\nSolution:   Support concatenating lines starting with \u0027|\u0027, useful for\n            :autocmd, :command, etc. (closes #6702)\n"
    },
    {
      "commit": "e462f52db3cab656485a71e4322b6cb18d564a06",
      "tree": "2bd955c07b2da6043ded912c39bb053a07f9e7e5",
      "parents": [
        "7e3ee7823ffc55b37e9718720263637ed7232646"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 27 14:43:30 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 27 14:43:30 2020 +0100"
      },
      "message": "patch 8.2.2227: Vim9: recognizing lambda is too complicated\n\nProblem:    Vim9: recognizing lambda is too complicated.\nSolution:   Call compile_lambda() and check for NOTDONE.\n"
    },
    {
      "commit": "cdc40c43f1008bda2f173d3a13606236679e8067",
      "tree": "8011e2a4138c2596e318f2a8798eebea481fb6ad",
      "parents": [
        "2b32700dabf392566d8e9fef76e0d587a891ee3e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 26 17:43:08 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 26 17:43:08 2020 +0100"
      },
      "message": "patch 8.2.2223: Vim9: Reloading marks a :def function as deleted\n\nProblem:    Vim9: Reloading marks a :def function as deleted.\nSolution:   Clear the function contents but keep the index.\n"
    },
    {
      "commit": "e5730bdcea0d4b574835f94b9813f80316590db9",
      "tree": "77059be0bb13b4ad8f69185ce6441eb75ecd0e13",
      "parents": [
        "7e3682068bebc53a5d1e9eaaba61bb4fa9c612da"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 25 22:30:16 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 25 22:30:16 2020 +0100"
      },
      "message": "patch 8.2.2220: Vim9: memory leak when parsing nested parenthesis\n\nProblem:    Vim9: memory leak when parsing nested parenthesis.\nSolution:   Clear newargs.\n"
    },
    {
      "commit": "7cfcd0c99c485a973d8cbff939531e430ad77f55",
      "tree": "0bb0711871397386dadd643eb28098f3386729be",
      "parents": [
        "c754b4cc98253e1935d3ea5790bc60869c7bc091"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 25 16:11:53 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 25 16:11:53 2020 +0100"
      },
      "message": "patch 8.2.2213: checking white space around -\u003e is not backwards compatible\n\nProblem:    Checking white space around -\u003e is not backwards compatible.\nSolution:   Only check white space around \u003d\u003e.\n"
    },
    {
      "commit": "c754b4cc98253e1935d3ea5790bc60869c7bc091",
      "tree": "53fd5fec3b9c4e849d552473c7bceaf033add07f",
      "parents": [
        "b2f9e0e2c537bcde16dab3b62687a17e17849ce1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 25 15:24:23 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 25 15:24:23 2020 +0100"
      },
      "message": "patch 8.2.2212: Vim9: lambda with \u003d\u003e does not work at the script level\n\nProblem:    Vim9: lambda with \u003d\u003e does not work at the script level.\nSolution:   Make it work.\n"
    },
    {
      "commit": "9e68c32563d8c9ffe1ac04ecd4ccd730af66b97c",
      "tree": "3c1d0640bf3bcf7bdc45bd5157fc4c194024c1d7",
      "parents": [
        "4aab88d919168ce2ddf4845482f4cff9efa52b5b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 25 12:38:04 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 25 12:38:04 2020 +0100"
      },
      "message": "patch 8.2.2209: Vim9: return type of \u003d\u003e lambda not parsed\n\nProblem:    Vim9: return type of \u003d\u003e lambda not parsed.\nSolution:   Parse and use the return type.\n"
    },
    {
      "commit": "6dd41b1d575e8859238144899600e3cbb412c79b",
      "tree": "e653dce871c0ccf1049cc2b292ca4d2916124bc9",
      "parents": [
        "65c4415276394c871c7a8711c7633c19ec9235b1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 24 16:06:00 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 24 16:06:00 2020 +0100"
      },
      "message": "patch 8.2.2205: Vim9: memory leak when parsing lambda fails\n\nProblem:    Vim9: memory leak when parsing lambda fails.\nSolution:   Clear growarrays.\n"
    },
    {
      "commit": "65c4415276394c871c7a8711c7633c19ec9235b1",
      "tree": "6c72bac928d4993ac4940114ba089f4c08357342",
      "parents": [
        "b34f33747223d9cba4b32a27aee70c1705b36ed9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 24 15:14:01 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 24 15:14:01 2020 +0100"
      },
      "message": "patch 8.2.2204: Vim9: using -\u003e both for method and lambda is confusing\n\nProblem:    Vim9: using -\u003e both for method and lambda is confusing.\nSolution:   Use \u003d\u003e for lambda in :def function.\n"
    },
    {
      "commit": "cd45ed03bfdd7fac53d562ad402df74bd26e7754",
      "tree": "08509cca8dd5a9615671f1d0f3fc50fa0b4f5ef0",
      "parents": [
        "07761a3b965ec3be0c8d52aae9b6dc09c2127d27"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 22 17:35:54 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 22 17:35:54 2020 +0100"
      },
      "message": "patch 8.2.2188: Vim9: crash when calling global function from :def function\n\nProblem:    Vim9: crash when calling global function from :def function.\nSolution:   Set the outer context.  Define the partial for the context on the\n            original function. Use a refcount to keep track of which ufunc is\n            using a dfunc. (closes #7525)\n"
    },
    {
      "commit": "5082471f91dd42ed8c35e0f649d0a6572e6fe3fc",
      "tree": "fd05e598235e59d9db8c9565ef2429fb181a2a38",
      "parents": [
        "61e07b2394e12f757160cac421ec5c45dc4c074d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 20 21:10:17 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 20 21:10:17 2020 +0100"
      },
      "message": "patch 8.2.2172: Vim9: number of arguments is not always checked\n\nProblem:    Vim9: number of arguments is not always checked. (Yegappan\n            Lakshmanan)\nSolution:   Check number of arguments when calling function by name.\n"
    },
    {
      "commit": "f112f30a82f17114d8b08a0fb90928cd19440581",
      "tree": "7c6841331ca8fe4d7c3de525d494cb2fc0a4a78f",
      "parents": [
        "090728ad4d54287c911894ef42bfe92844ce0fa5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 20 17:47:52 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 20 17:47:52 2020 +0100"
      },
      "message": "patch 8.2.2170: Vim9: a global function defined in a :def function fails\n\nProblem:    Vim9: a global function defined in a :def function fails if it\n            uses the context.\nSolution:   Create a partial to store the closure context. (see #7410)\n"
    },
    {
      "commit": "17f700ac8b55f27ddb519ecaa8acaa43fc1ae60a",
      "tree": "52529a79f2905eef3dc44ba94ec076360c84d166",
      "parents": [
        "13656f02e457fb68cd7e72412fc24ccac02fb06e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 19 21:23:42 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 19 21:23:42 2020 +0100"
      },
      "message": "patch 8.2.2164: Vim9: autoload function doesn\u0027t work in uppercased script\n\nProblem:    Vim9: autoload function doesn\u0027t work in script that starts with\n            an upper case letter.\nSolution:   Check for the autoload character. (closes #7502)\n"
    },
    {
      "commit": "8e7d6223f630690b72b387eaed704bf01f3f29d2",
      "tree": "b2e694bda1dbae28776d68f9babbb42d27e5c730",
      "parents": [
        "3beaf9cd8efa3ba83e07187215004d140b89d529"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 18 19:49:56 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 18 19:49:56 2020 +0100"
      },
      "message": "patch 8.2.2160: various typos\n\nProblem:    Various typos.\nSolution:   Fix spelling mistakes. (closes #7494)\n"
    },
    {
      "commit": "fffdf4754f4fd789c64596bdd9ea069725e63784",
      "tree": "83797eefe21d98f3fe579ec2567955f51077a977",
      "parents": [
        "8143a53c533bc7776c57e5db063d185bdd5750f3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 13 21:16:55 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 13 21:16:55 2020 +0100"
      },
      "message": "patch 8.2.2142: memory leak when heredoc is not terminated\n\nProblem:    Memory leak when heredoc is not terminated.\nSolution:   Free heredoc_trimmed.\n"
    },
    {
      "commit": "b5b9480ee936ef4cd0e350c468ef8c5f42fa398b",
      "tree": "f0088938ec3211296bcd9f2cd7ba5cc2598cbda0",
      "parents": [
        "e4984290870565a2413cca660b0131f4702b7665"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 13 17:50:20 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 13 17:50:20 2020 +0100"
      },
      "message": "patch 8.2.2138: Vim9: \"exit_cb\" causes Vim to exit\n\nProblem:    Vim9: \"exit_cb\" causes Vim to exit.\nSolution:   Require white space after a command in Vim9 script. (closes #7467)\n            Also fix that Vim9 style heredoc was not always recognized.\n"
    },
    {
      "commit": "6abdcf82859e158713a3d5aa6b1012748ea5c2a0",
      "tree": "622b31927858c892ef03ea59bd41d93175c546fd",
      "parents": [
        "dcbab75db3ba5e812f119e08cda6a02c6b028a14"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 22 18:15:44 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 22 18:15:44 2020 +0100"
      },
      "message": "patch 8.2.2033: Vim9: :def without argument gives compilation error\n\nProblem:    Vim9: :def without argument gives compilation error.\nSolution:   Add the DEF instruction. (closes #7344)\n"
    },
    {
      "commit": "0ba48e8c2741bd65d547fe6bf1d9873f411b25b4",
      "tree": "829cfacb8d529de2a8c32ba7035b44e3f8a92caa",
      "parents": [
        "fc74d03e7694bac3b50d8d6b6b78b40a71818744"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 17 18:23:19 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 17 18:23:19 2020 +0100"
      },
      "message": "patch 8.2.2001: Vim9: :def function does not apply \u0027maxfuncdepth\u0027\n\nProblem:    Vim9: :def function does not apply \u0027maxfuncdepth\u0027.\nSolution:   Use \u0027maxfuncdepth\u0027. (issue #7313)\n"
    },
    {
      "commit": "b4d16cb11d92b363503b71673921774548230e94",
      "tree": "ca2eb1e8f5bcf42226196fef683929e2988a9077",
      "parents": [
        "66669fc6647201649e75a214e72b768fc86b7ed3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 05 18:45:46 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 05 18:45:46 2020 +0100"
      },
      "message": "patch 8.2.1956: Vim9: cannot specify argument types for lambda\n\nProblem:    Vim9: cannot specify argument types for lambda.\nSolution:   Allow adding argument types.  Check arguments when calling a\n            function reference.\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": "7b5d5442696d86daab062592d5c86c829757c352",
      "tree": "9820f883da5e85b119c51bb04fbccc48fd9d10e8",
      "parents": [
        "2bb2658bef9fb25b320f87147261b7154494a86f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 04 13:42:34 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 04 13:42:34 2020 +0200"
      },
      "message": "patch 8.2.1796: Vim9: invalid memory access with weird function name\n\nProblem:    Vim9: invalid memory access with weird function name. (Dhiraj\n            Mishra)\nSolution:   Check the name is valid.  Add a test.\n"
    },
    {
      "commit": "cfcd011fcd8021da52fba62dabf7a2497f1879b7",
      "tree": "4b15ba4d18a6901feb2e0863e150cb0b3302fba5",
      "parents": [
        "c0e29010f68a0ebe439f9bd78493799c60b7bfd3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 27 15:19:27 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 27 15:19:27 2020 +0200"
      },
      "message": "patch 8.2.1756: Vim9: :let will soon be disallowed\n\nProblem:    Vim9: :let will soon be disallowed.\nSolution:   Add v:disallow_let temporarily.  Fix tests.\n"
    },
    {
      "commit": "280227270c1c54794a6d88a305fac56d4b0c92a5",
      "tree": "e44a89ce8ec294e86bfd9efb28b7da2a637a7cda",
      "parents": [
        "dbd759309b4b6abea96b18d61770e100cf4264b5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 21 22:02:49 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 21 22:02:49 2020 +0200"
      },
      "message": "patch 8.2.1723: Vim9: Variable argument name cannot start with underscore\n\nProblem:    Vim9: Variable argument name cannot start with underscore.\nSolution:   Use eval_isnamec1(). (closes #6988)\n"
    },
    {
      "commit": "b816dae16dbeec91ccb6fd1c0289b86b4ad5d7b3",
      "tree": "2638cb0355920d8e7704abebf99c46501dd1496e",
      "parents": [
        "809fcecddce59ccb59384d63f5e0505c89f69209"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 20 22:04:00 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 20 22:04:00 2020 +0200"
      },
      "message": "patch 8.2.1718: Vim9: :def function disallows \"firstline\" for no good reason\n\nProblem:    Vim9: :def function disallows \"firstline\" and \"lastline\" argument\n            names for no good reason.\nSolution:   Don\u0027t check the arguments for a :def function. (closes #6986)\n"
    },
    {
      "commit": "a05e524f3aa8eadc2dbd0ad8ff6db9407ac7ac7e",
      "tree": "23a248c68456d043903f47c7d545f387a5db2420",
      "parents": [
        "fdeab65db60929e28640fd740c333f9bcfea0e15"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 19 18:19:19 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 19 18:19:19 2020 +0200"
      },
      "message": "patch 8.2.1712: Vim9: leaking memory when calling a lambda\n\nProblem:    Vim9: leaking memory when calling a lambda.\nSolution:   Decrement function reference from ISN_DCALL.\n"
    },
    {
      "commit": "fdeab65db60929e28640fd740c333f9bcfea0e15",
      "tree": "12b2d052ab2a3824579cf2b1937a5b25eb528df4",
      "parents": [
        "77b20977dc31ecf753dddad7a7c7b8f7b6e0c244"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 19 15:16:50 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 19 15:16:50 2020 +0200"
      },
      "message": "patch 8.2.1711: Vim9: leaking memory when using partial\n\nProblem:    Vim9: leaking memory when using partial.\nSolution:   Do delete the function even when it was compiled.\n"
    },
    {
      "commit": "a187c43cfe8863d48b2159d695fedcb71f8525c1",
      "tree": "40cd63746c55f16dadb674da3d1ffab7f23f291b",
      "parents": [
        "7707228aace9aff16434edf5377a354c6ad07316"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 16 21:08:28 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 16 21:08:28 2020 +0200"
      },
      "message": "patch 8.2.1698: cannot lock a variable in legacy Vim script like in Vim9\n\nProblem:    Cannot lock a variable in legacy Vim script like in Vim9.\nSolution:   Make \":lockvar 0\" work.\n"
    },
    {
      "commit": "3bd8de40b484d3617a19092d3cc036f8b4f3d51c",
      "tree": "b0ec9e16a8cfc27719141e162dce6fd7510266f5",
      "parents": [
        "d1f76afaf963be706697279ab0570ffcb8a1f2fc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 14 16:37:34 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 14 16:37:34 2020 +0200"
      },
      "message": "patch 8.2.1679: Vim9: \":*\" is not recognized as a range\n\nProblem:    Vim9: \":*\" is not recognized as a range.\nSolution:   Move recognizing \"*\" into skip_range(). (closes #6838)\n"
    },
    {
      "commit": "0f769815c82bf93812842e1ad56fcc52c10ff3e5",
      "tree": "73144939f04e2212e621e0fa59959a1d1c66a57f",
      "parents": [
        "b00ef0508b22905379953a164bdb4300015d3705"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 12 18:32:34 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 12 18:32:34 2020 +0200"
      },
      "message": "patch 8.2.1667: local function name cannot shadow a global function name\n\nProblem:    Local function name cannot shadow a global function name.\nSolution:   Ignore global functions when checking a script-local or scoped\n            function name. (closes #6926)\n"
    },
    {
      "commit": "96f8f499ce51ea791d9b044c266f84380fa54848",
      "tree": "0276158f1228a2f0635fc4cc06ec50bb9bb18359",
      "parents": [
        "4507f6ada590fb6274b21c416190dfecb23dcf1b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 09 17:08:51 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 09 17:08:51 2020 +0200"
      },
      "message": "patch 8.2.1643: Vim9: :defcompile compiles dead functions\n\nProblem:    Vim9: :defcompile compiles dead functions.\nSolution:   Skip over dead functions.\n"
    },
    {
      "commit": "95006e3dca099d3dc73d70d9872660308106e86c",
      "tree": "81cbe06b973d855503dadca014d76c788bcbb566",
      "parents": [
        "98945560c1ae6e2ddee820a7de718a36e3f4b6e5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 29 17:47:08 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 29 17:47:08 2020 +0200"
      },
      "message": "patch 8.2.1541: Vim9: cannot find function reference for s:Func\n\nProblem:    Vim9: cannot find function reference for s:Func.\nSolution:   Recognize \u003cSNR\u003e prefix. (closes #6805)\n"
    },
    {
      "commit": "ee8580e52e767916e2a95e8ac0732fd8a5ae0651",
      "tree": "7969a3073d33cf09cfce17fc3b500cad1b6a694d",
      "parents": [
        "6a950581da52b410a74531044aae8f1f8f38a7df"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 28 17:19:07 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 28 17:19:07 2020 +0200"
      },
      "message": "patch 8.2.1534: Vim9: type error for argument type is not at call position\n\nProblem:    Vim9: type error for argument type is not at call position.\nSolution:   Set the context and stack after checking the arguments.\n            (issue #6785)\n"
    },
    {
      "commit": "7cb6fc29d067ed97c0b0c1d2d5767125ef9ae1ab",
      "tree": "a5307e1932b80df92df373384835b4c90b6db628",
      "parents": [
        "81e17fbe00fd2ed93b262adc3ba41c86b02e7f46"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 21 22:36:47 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 21 22:36:47 2020 +0200"
      },
      "message": "patch 8.2.1504: Vim9: white space checks are only done for a :def function\n\nProblem:    Vim9: white space checks are only done for a :def function.\nSolution:   Also do checks at the script level.  Adjust the name of a few\n            error messages.\n"
    },
    {
      "commit": "66250c932e8a0e3c43e7c7c7b1dbede040b9c508",
      "tree": "485324d99b96692841c3f44ad0f76b4c67be4d49",
      "parents": [
        "93ad14710bdf77591f927a2b244bba6a8cbc7706"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 20 15:02:42 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 20 15:02:42 2020 +0200"
      },
      "message": "patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment\n\nProblem:    Vim9: crash when compiling heredoc lines start with comment.\nSolution:   Skip over NULL pointers. Do not remove comment and empty lines\n            when fetching function lines. (closes #6743)\n"
    },
    {
      "commit": "451c2e3536a3cb77d07faf3cb2b834512e174351",
      "tree": "c2dbbf67dc33787ea4e1aaa64baec99b77346ea2",
      "parents": [
        "53b29e4845857d76ca7df1ff2fd0e03c3eeb82e1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 15 16:33:28 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 15 16:33:28 2020 +0200"
      },
      "message": "patch 8.2.1460: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more messages into errors.h.\n"
    },
    {
      "commit": "c4ce36d48698669f81ec90f7c9dc9ab8c362e538",
      "tree": "2aa5e74f7d240f306be115de7445db048ea2fb8b",
      "parents": [
        "bc4c505166dc82911553206bb0c2133c6ac94aa1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 14 17:08:15 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 14 17:08:15 2020 +0200"
      },
      "message": "patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again\n\nProblem:    Vim9: function expanded name is cleared when sourcing a script\n            again.\nSolution:   Only clear the expanded name when deleting the function.\n            (closes #6707)\n"
    },
    {
      "commit": "bc4c505166dc82911553206bb0c2133c6ac94aa1",
      "tree": "14a6624ace74cef5d79c55c818012042fef3d03e",
      "parents": [
        "cdd70f09a5340c3d7ae873f1aaaf9847f27410cc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 13 22:47:35 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 13 22:47:35 2020 +0200"
      },
      "message": "patch 8.2.1444: error messages are spread out and names can be confusing\n\nProblem:    Error messages are spread out and names can be confusing.\nSolution:   Start moving error messages to a separate file and use clear\n            names.\n"
    },
    {
      "commit": "035d6e91bd83574cab5a913c5c3a924d9011696b",
      "tree": "d6acfae2cbc2700a7c184c6dfffce34606e1c185",
      "parents": [
        "097148e849136b49052b1b5123c714fb1d74db9b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 11 22:30:42 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 11 22:30:42 2020 +0200"
      },
      "message": "patch 8.2.1423: Vim9: find global function when looking for script-local\n\nProblem:    Vim9: find global function when looking for script-local.\nSolution:   Don\u0027t strip prefix if name starts with \"s:\". (closes #6688)\n"
    },
    {
      "commit": "8294d49937b99067522fda8a9399bb9533e3c44e",
      "tree": "e6906f5a4aff701e09a2d6d0c7692c7c15ecaabb",
      "parents": [
        "efb6482949580ab89e6d7c5e1cb8d744ddd6ef80"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 10 22:40:56 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 10 22:40:56 2020 +0200"
      },
      "message": "patch 8.2.1418: Vim9: invalid error for missing white space\n\nProblem:    Vim9: invalid error for missing white space after function.\nSolution:   Do not skip over white space. (closes #6679)\n"
    },
    {
      "commit": "efa94447e85eacce62c1fcf6b63e7f3431e2cb1b",
      "tree": "d2b59228836d831d965bbf45332164b530b605fb",
      "parents": [
        "daa2f36573db3e1df7eb1fdbc3a09a2815644048"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 08 22:16:00 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 08 22:16:00 2020 +0200"
      },
      "message": "patch 8.2.1399: Vim9: may find imported item in wrong script\n\nProblem:    Vim9: may find imported item in wrong script.\nSolution:   When looking up script-local function use the embedded script ID.\n            (issue #6644)\n"
    },
    {
      "commit": "bf8feb5aeb71c8f56897845c4134793201aa459a",
      "tree": "7fe7f9fb0ca9e01925ad108f5576cfdfde4abcc6",
      "parents": [
        "fa211f3c6d27cf962b28f10e3c18b12dde4d20c3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 08 14:26:31 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 08 14:26:31 2020 +0200"
      },
      "message": "patch 8.2.1392: Vim9: line number incorrect after skipping over comment lines\n\nProblem:    Vim9: error line number incorrect after skipping over comment\n            lines.\nSolution:   Insert empty lines for skipped lines.\n"
    },
    {
      "commit": "f9b2b49663226235f94f08230fe9023caf80a6e9",
      "tree": "f34be82de9372deb871b09a572157d7dcfefed6e",
      "parents": [
        "fdac71c5075062f97f77044e9619fa5c907e0327"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 05 14:34:14 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 05 14:34:14 2020 +0200"
      },
      "message": "patch 8.2.1373: Vim9: no error for assigning to non-existing script var\n\nProblem:    Vim9: no error for assigning to non-existing script var.\nSolution:   Check that in Vim9 script the variable was defined. (closes #6630)\n"
    },
    {
      "commit": "eef2102e20d24f5fbd1c9f53c7a35df61585c5ab",
      "tree": "1bfa42d3637ea2b19021b1a7f6e859791f343ad4",
      "parents": [
        "e4218b9416bdcd78b9779a06258198573a0c369e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 01 22:16:43 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 01 22:16:43 2020 +0200"
      },
      "message": "patch 8.2.1349: Vim9: can define a function with the name of an import\n\nProblem:    Vim9: can define a function with the name of an import.\nSolution:   Disallow using an existing name. (closes #6585)\n"
    },
    {
      "commit": "333894b195479c9304a19f4e6ec1a9c09ecf07e4",
      "tree": "f3d51abe5fcb010185d6b471f1100df09745f0a3",
      "parents": [
        "f5a48010ef9e47319185f1aaac1bc6d45cd4d47a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 01 18:53:07 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 01 18:53:07 2020 +0200"
      },
      "message": "patch 8.2.1343: Vim9: cannot find global function when using g:\n\nProblem:    Vim9: cannot find global function when using g: when local\n            function with the same name exists.\nSolution:   Find global function when using g:.\n"
    },
    {
      "commit": "af8edbb8dc551aaf2105a4d77b3d8495da239ef0",
      "tree": "c968eb7edde8e1229516ad33f7f2b927b52d2314",
      "parents": [
        "ce6583568ff5b3e0e6438b37ede2c80bedffba10"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 01 00:03:09 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 01 00:03:09 2020 +0200"
      },
      "message": "patch 8.2.1333: Vim9: memory leak when using nested global function\n\nProblem:    Vim9: memory leak when using nested global function.\nSolution:   Swap from and to when copying the lines.\n"
    },
    {
      "commit": "ce6583568ff5b3e0e6438b37ede2c80bedffba10",
      "tree": "d9899ba05c65d4b330d64c71f43df13e4be9c103",
      "parents": [
        "badd8486f7442bfcf55e0234ece80488958e7114"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 31 23:47:12 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 31 23:47:12 2020 +0200"
      },
      "message": "patch 8.2.1332: Vim9: memory leak when using nested global function\n\nProblem:    Vim9: memory leak when using nested global function.\nSolution:   Delete the function when deleting the instruction.  Disable test\n            that still causes a leak.\n"
    },
    {
      "commit": "38ddf333f6b2806b0ea2dd052ee1cd50dd7f4525",
      "tree": "5174c1e94e06de25435c40113f6d793eb97659c7",
      "parents": [
        "4d4d1cd5c8b61ef0296bd6190ca2a0b2d6d96ba7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 31 22:05:04 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 31 22:05:04 2020 +0200"
      },
      "message": "patch 8.2.1329: Vim9: cannot define global function inside :def function\n\nProblem:    Vim9: cannot define global function inside :def function.\nSolution:   Assign to global variable instead of local. (closes #6584)\n"
    },
    {
      "commit": "9d489566815d7913afc5dfc2a772bacede3970fb",
      "tree": "eff105e7214186b0a4bf31296d06d7d89926935a",
      "parents": [
        "ea2d8d25718836bf627b67b7fcd28a1e528bb7b9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 30 20:08:50 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 30 20:08:50 2020 +0200"
      },
      "message": "patch 8.2.1326: Vim9: skipping over white space after list\n\nProblem:    Vim9: skipping over white space after list.\nSolution:   Do not skip white space, a following [] would be misinterpreted.\n            (closes #6552)  Fix a few side effects.\n"
    },
    {
      "commit": "9898107f54a330c6d9629976250a393169c698ca",
      "tree": "8a4b2b3cbb974768201f899d0ca48b40789de488",
      "parents": [
        "b5ed266037dea49024e00c4e1f9c89f3a9ebaa60"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 29 14:40:25 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 29 14:40:25 2020 +0200"
      },
      "message": "patch 8.2.1314: Vim9: rule for comment after :function is confusing\n\nProblem:    Vim9: rule for comment after :function is confusing.\nSolution:   Allow double quoted comment after :function in vim9script.\n            (closes #6556)\n"
    },
    {
      "commit": "4fc224ca1cf2a8991c5ea17682a742c6ad5ad0f3",
      "tree": "4c752cc9133d073c9f0a085f94bdd38948598d7a",
      "parents": [
        "2547aa930b59f5e2bcb70e81d5a57ed461e59b4f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 26 17:56:25 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 26 17:56:25 2020 +0200"
      },
      "message": "patch 8.2.1300: Vim9: optional argument type not parsed properly\n\nProblem:    Vim9: optional argument type not parsed properly.\nSolution:   Skip over the \"?\". (issue #6507)\n"
    },
    {
      "commit": "925e9fd6339981c1015410e1b6a6dd19e34f36cc",
      "tree": "8dde93c048e748625c3014eeeab243b7af3804cf",
      "parents": [
        "c841afff6a89592f23710c6da5b0fea89b240937"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 25 15:41:11 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 25 15:41:11 2020 +0200"
      },
      "message": "patch 8.2.1290: Vim9: cannot replace a global function\n\nProblem:    Vim9: cannot replace a global function.\nSolution:   Allow for \"!\" on a global function. (closes #6524)  Also fix that\n            :delfunc on a :def function only made it empty.\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": "e7e4838f25ac39177f3c3150ee53af8d6e8a0f28",
      "tree": "6790f121a4ad9c1fa3558c40b7aac83ede5bccc7",
      "parents": [
        "2690b5aed8b6b6070430b05dcae296cd9479c942"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 22 18:17:08 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 22 18:17:08 2020 +0200"
      },
      "message": "patch 8.2.1268: Vim9: no error for using double quote comment\n\nProblem:    Vim9: no error for using double quote comment after :func or :def.\nSolution:   Only accept double quote when not in Vim9 script and not after\n            :def. (closes #6483)\n"
    },
    {
      "commit": "682d0a15462f3d4f9404e98a56b340ae131cbb09",
      "tree": "8f5c50220344851d41c7c236529f17235b3f7d8a",
      "parents": [
        "2f8ce0ae8a8247563be0a77a308130e767e0566e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 19 20:48:59 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 19 20:48:59 2020 +0200"
      },
      "message": "patch 8.2.1251: Vim9: warning for pointer usage, test failure undetected\n\nProblem:    Vim9: warning for pointer usage, test failure undetected.\nSolution:   Fix pointer indirection.  Give error when executing function\n            failed for any reason.  Fix instruction names.\n"
    },
    {
      "commit": "1f22cc5cdb2da867d6bbf54dd371f279c38a2f56",
      "tree": "32d3ebe3de935d0e295c8725b160b1a723f5cfd7",
      "parents": [
        "21c16f868d725fffc8fa36620cba33dd5f2ed576"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 14 21:08:49 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 14 21:08:49 2020 +0200"
      },
      "message": "patch 8.2.1210: using ht_used when looping through a hashtab is less reliable\n\nProblem:    Using ht_used when looping through a hashtab is less reliable.\nSolution:   Use ht_changed in a few more places.\n"
    },
    {
      "commit": "7ce85be63b37ab4ec791dde93a380e8a4d8a04dd",
      "tree": "da679ce583f4876ac399b19f7dc2e0f2d1b42886",
      "parents": [
        "1bce831e13c42daa3563c7f90432d9bd9b959b81"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 14 15:01:05 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 14 15:01:05 2020 +0200"
      },
      "message": "patch 8.2.1207: Vim9: crash in expr test when run in the GUI\n\nProblem:    Vim9: crash in expr test when run in the GUI.\nSolution:   Break out of loop over hashtab also when function got removed and\n            added.\n"
    },
    {
      "commit": "eb6880b6eb7c4631f6103575c0d1336b149348c1",
      "tree": "3ef9e464dfa615794f921e78f14fa6c14fa9a944",
      "parents": [
        "8af81d656a4c501611f6211b6379ea9dd650c545"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 12 17:07:05 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 12 17:07:05 2020 +0200"
      },
      "message": "patch 8.2.1190: Vim9: checking for Vim9 syntax is spread out\n\nProblem:    Vim9: checking for Vim9 syntax is spread out.\nSolution:   Use in_vim9script().\n"
    },
    {
      "commit": "914e7eaa67f8d816e15fb4a1180e6bece88d9742",
      "tree": "0d5e3deec46b656eca8bcbb3c77b5d94490c032b",
      "parents": [
        "21e5bdd271fa4d0ff4511cf74b160315e1d17cff"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 11 15:20:48 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 11 15:20:48 2020 +0200"
      },
      "message": "patch 8.2.1182: Vim9: no check for whitespace after comma in lambda\n\nProblem:    Vim9: no check for whitespace after comma in lambda.\nSolution:   Give error if white space is missing.\n"
    },
    {
      "commit": "efaaaa683b7b0cebc128be5c0c257b9d6578ac96",
      "tree": "e46f5b393c68c63a89294264ca28cf579a597829",
      "parents": [
        "8e2730a315b8b06192f5fc822dc218dbb3cff7ae"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 08 22:24:09 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 08 22:24:09 2020 +0200"
      },
      "message": "patch 8.2.1162: crash when using a lambda\n\nProblem:    Crash when using a lambda.\nSolution:   Check for evalarg to be NULL.\n"
    },
    {
      "commit": "8e2730a315b8b06192f5fc822dc218dbb3cff7ae",
      "tree": "6ed5abaddd5816210eb4b5220f1749bbc87dcdf2",
      "parents": [
        "6110e79a5872dd6c5529f909d1bd670e3325927b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 08 22:01:49 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 08 22:01:49 2020 +0200"
      },
      "message": "patch 8.2.1161: Vim9: using freed memory\n\nProblem:    Vim9: using freed memory.\nSolution:   Put pointer back in evalarg instead of freeing it.\n"
    },
    {
      "commit": "6110e79a5872dd6c5529f909d1bd670e3325927b",
      "tree": "1fb63ffbf024f240692cd439baa3c65e52d29c46",
      "parents": [
        "6b7a0a8c201bbace7e69fe0709f72b95092193df"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 08 19:35:21 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 08 19:35:21 2020 +0200"
      },
      "message": "patch 8.2.1160: Vim9: memory leak in allocated types\n\nProblem:    Vim9: memory leak in allocated types.\nSolution:   Free the type pointers.\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": "7d2ac92ebc36049f9ce2f4ce08b8a80ca212ace2",
      "tree": "f8c943ac9a17ca278780ea1c8631f92518195781",
      "parents": [
        "fda20c4cc59008264676a6deb6a3095ed0c248e0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 29 20:20:33 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 29 20:20:33 2020 +0200"
      },
      "message": "patch 8.2.1084: Lua: registering function has useless code\n\nProblem:    Lua: registering function has useless code.\nSolution:   Remove clearing grow arrays.\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": "9215f01218b2ed2cfe49c1f43fcf342bd9ffdded",
      "tree": "f2012a07fa1a29ccfde4ecfd1010949ff81e5526",
      "parents": [
        "7a4981b93642b5b62018cd8150b3fb0dfa2417d4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 27 21:18:00 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 27 21:18:00 2020 +0200"
      },
      "message": "patch 8.2.1074: Vim9: no line break allowed after some operators\n\nProblem:    Vim9: no line break allowed after some operators.\nSolution:   Skip a line break after the operator.  Add\n            eval_may_get_next_line() to simplify checking for a line break.\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": "0b1cd52ff6bf690388f892be686a91721a082e55",
      "tree": "adfb12e0422054bdf04bc19005e72c647a13985c",
      "parents": [
        "bd84617d1a6766efd59c94aabebb044bef805b99"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 27 13:11:50 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 27 13:11:50 2020 +0200"
      },
      "message": "patch 8.2.1067: expression \"!expr-\u003efunc()\" does not work\n\nProblem:    Expression \"!expr-\u003efunc()\" does not work.\nSolution:   Apply plus and minus earlier. (closes #6348)\n"
    },
    {
      "commit": "801ab069341c8652680d63c174530fd4feb2911e",
      "tree": "ff8d365fe4c9ea1dbd5b5918b3a58568a77ec18e",
      "parents": [
        "832adf9bb8cd39d8e982d8a35ed8a6d39b974494"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 25 19:27:56 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 25 19:27:56 2020 +0200"
      },
      "message": "patch 8.2.1054: not so easy to pass a lua function to Vim\n\nProblem:    Not so easy to pass a lua function to Vim.\nSolution:   Convert a Lua function and closure to a Vim funcref. (Prabir\n            Shrestha, closes #6246)\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": "6797966dfc0219313886be55767e53d5a388b5c5",
      "tree": "251b9958824d03269e599f8f35db3c38f03d7416",
      "parents": [
        "0cb5bcf5836de83f7d64fb01d3ce708caacaf66c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 20 22:50:47 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 20 22:50:47 2020 +0200"
      },
      "message": "patch 8.2.1024: Vim9: no error for using \"let g:var \u003d val\"\n\nProblem:    Vim9: no error for using \"let g:var \u003d val\".\nSolution:   Add an error.\n"
    },
    {
      "commit": "0cb5bcf5836de83f7d64fb01d3ce708caacaf66c",
      "tree": "e8cb22c78547909952536f9d024e95d8fdcc3369",
      "parents": [
        "845e0ee59430eac07e74b6cb92020e420d17953d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 20 18:19:09 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 20 18:19:09 2020 +0200"
      },
      "message": "patch 8.2.1023: Vim9: redefining a function uses a new index every time\n\nProblem:    Vim9: redefining a function uses a new index every time.\nSolution:   When redefining a function clear the contents and re-use the\n            index.\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": "9721fb4ea3db2559aaf7f71458da8ddda30ff93e",
      "tree": "39623a8707ce913b2ad27eb3bac25a7f522e338d",
      "parents": [
        "00e260bb6cc33ff5dbba15ac87ca7fd465aa49c0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 11 23:10:46 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 11 23:10:46 2020 +0200"
      },
      "message": "patch 8.2.0960: cannot use :import in legacy Vim script\n\nProblem:    Cannot use :import in legacy Vim script.\nSolution:   Support :import in any Vim script.\n"
    },
    {
      "commit": "3fffa97159a427067b60c80ed4645e168cc5c4bd",
      "tree": "f0fb9f2fd843478461584c9f6444c8c15d0ae1c5",
      "parents": [
        "07188fc5ef2366a3b1952e8686a4031b44152d59"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 05 21:06:10 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 05 21:06:10 2020 +0200"
      },
      "message": "patch 8.2.0908: crash when changing the function table while listing it\n\nProblem:    Crash when changing the function table while listing it.\nSolution:   Bail out when the function table changes. (closes #6209)\n"
    },
    {
      "commit": "285b189260e2d753454449e429f2caa17e1c39a5",
      "tree": "f3a12486c448d230c31acd2e8478dfa5064f4f6d",
      "parents": [
        "ebc3de634f4c2893f34e41b4f8da1d59212e59ea"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 26 11:37:26 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 26 11:37:26 2020 +0200"
      },
      "message": "patch 8.2.0827: Vim9: crash in :defcompile\n\nProblem:    Vim9: crash in :defcompile.\nSolution:   Fix off-by-one error.\n"
    },
    {
      "commit": "ebc3de634f4c2893f34e41b4f8da1d59212e59ea",
      "tree": "42c5f960018d8e4922b12c62b56b4f96bf0c8467",
      "parents": [
        "a14e6975478adeddcc2161edc1ec611016aa89f3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 26 11:08:28 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 26 11:08:28 2020 +0200"
      },
      "message": "patch 8.2.0826: Vim9: crash in :defcompile\n\nProblem:    Vim9: crash in :defcompile.\nSolution:   Restart the loop after a call to compile_def_function() caused the\n            hash table to resize.\n"
    },
    {
      "commit": "a14e6975478adeddcc2161edc1ec611016aa89f3",
      "tree": "91d67e43f4bc17c7787d26b18e0f3b835a6cd703",
      "parents": [
        "1919371b2b9ddb1a645f40b59adbd89317530882"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 25 23:29:28 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 25 23:29:28 2020 +0200"
      },
      "message": "patch 8.2.0825: def_function() may return pointer that was freed\n\nProblem:    def_function() may return pointer that was freed.\nSolution:   Set \"fp\" to NULL after freeing it.\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": "6ff71d8b7fbdf667a2f119a2487302e240961816",
      "tree": "90e14c4469b447139f22501d5ff942441c90ece8",
      "parents": [
        "f40e51a880a95f94dbbbecc9476559506c2cc345"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 24 23:45:24 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 24 23:45:24 2020 +0200"
      },
      "message": "patch 8.2.0820: Vim9: function type isn\u0027t set until compiled\n\nProblem:    Vim9: function type isn\u0027t set until compiled.\nSolution:   Set function type early.\n"
    },
    {
      "commit": "822ba24743af9ee1b5e7f656a7a61a38f3638bca",
      "tree": "7fb853a5f43c2d2682b4c9fd55a0e257e95d2446",
      "parents": [
        "f7271e831614d15d173c7f562cc26f48c2554ce9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 24 23:00:18 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 24 23:00:18 2020 +0200"
      },
      "message": "patch 8.2.0818: Vim9: using a discovery phase doesn\u0027t work well\n\nProblem:    Vim9: using a discovery phase doesn\u0027t work well.\nSolution:   Remove the discovery phase, instead compile a function only when\n            it is used.  Add :defcompile to compile def functions earlier.\n"
    },
    {
      "commit": "6f5b6dfb16228c0ce1e4379b7bafed02eaddbab2",
      "tree": "5ef46ff7e270b67cf076b0797e66bdb016e35ae7",
      "parents": [
        "aa5fc4ec51b00e91f174ac83c8ff68becf5f42bb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 16 21:20:12 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 16 21:20:12 2020 +0200"
      },
      "message": "patch 8.2.0771: Vim9: cannot call a compiled closure from not compiled code\n\nProblem:    Vim9: cannot call a compiled closure from not compiled code.\nSolution:   Pass funcexe to call_user_func().\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": "7e9f351b2e69b498c4ee5004d7459844e1ba191a",
      "tree": "df0c0e40b5bf9ef43d9b1289573515f9de9d79a6",
      "parents": [
        "37d1b4f9416973abe9f5a7c6b81540ca88fa8489"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 13 22:44:22 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 13 22:44:22 2020 +0200"
      },
      "message": "patch 8.2.0751: Vim9: performance can be improved\n\nProblem:    Vim9: performance can be improved.\nSolution:   Don\u0027t call break.  Inline check for list materialize.  Make an\n            inline version of ga_grow().\n"
    }
  ],
  "next": "09689a02840be40fa7bb10b1921fb5bc5b2908f1"
}
