)]}'
{
  "log": [
    {
      "commit": "c3caa7f78808e405b7cdbcdf89c9d35a43d2c3eb",
      "tree": "2a72f4fea5880062e727dd0469bdb3b07f8a2ba7",
      "parents": [
        "8be36eecdc6728021f9c384c2305f114e671ec32"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 25 19:15:10 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 25 19:15:10 2022 +0100"
      },
      "message": "patch 8.2.5018: Vim9: some code is not covered by tests\n\nProblem:    Vim9: some code is not covered by tests.\nSolution:   Delete dead code.\n"
    },
    {
      "commit": "68e64d2c1735f2a39afa8a0475ae29bedb116684",
      "tree": "fc30407cfebef2a874ca6a83f4351ceef025d657",
      "parents": [
        "5b529230f144028b67ed1d59207af098c18a1858"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 22 22:07:52 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 22 22:07:52 2022 +0100"
      },
      "message": "patch 8.2.5006: asan warns for undefined behavior\n\nProblem:    Asan warns for undefined behavior.\nSolution:   Cast the shifted value to unsigned.\n"
    },
    {
      "commit": "5b529230f144028b67ed1d59207af098c18a1858",
      "tree": "bb4c2fe4272296a78960bdb0f8b1a6e5b30cc92c",
      "parents": [
        "338bf58eba758585ffef3fdfdba7d48477aacb7c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 22 21:53:26 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 22 21:53:26 2022 +0100"
      },
      "message": "patch 8.2.5005: compiler warning for uninitialized variable\n\nProblem:    Compiler warning for uninitialized variable. (John Marriott)\nSolution:   Initialize the pointer to NULL.\n"
    },
    {
      "commit": "338bf58eba758585ffef3fdfdba7d48477aacb7c",
      "tree": "5ae6ce8b90f6aaaa06eb6d2192c9102c59fdd3b1",
      "parents": [
        "a061f34191712df7dde7716705fe0ec074e9758e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 22 20:16:32 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 22 20:16:32 2022 +0100"
      },
      "message": "patch 8.2.5004: right shift on negative number does not work as documented\n\nProblem:    Right shift on negative number does not work as documented.\nSolution:   Use a uvarnumber_T type cast.\n"
    },
    {
      "commit": "a061f34191712df7dde7716705fe0ec074e9758e",
      "tree": "f8a3bf02c826aeb748d12bfa74ead3e9f74573a2",
      "parents": [
        "9b2edfd3bf2f14a1faaee9b62930598a2e77a798"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun May 22 19:13:49 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 22 19:13:49 2022 +0100"
      },
      "message": "patch 8.2.5003: cannot do bitwise shifts\n\nProblem:    Cannot do bitwise shifts.\nSolution:   Add the \u003e\u003e and \u003c\u003c operators. (Yegappan Lakshmanan, closes #8457)\n"
    },
    {
      "commit": "1ff9c44267ce487145d22d75a96370d7f96ae8dd",
      "tree": "367e77e1a7874ada16533809f9a552bfecc869a2",
      "parents": [
        "40c141d333292d625907f4de13766cbbc2223911"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 17 15:03:33 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 17 15:03:33 2022 +0100"
      },
      "message": "patch 8.2.4972: Vim9: compilation fails when using dict member when skipping\n\nProblem:    Vim9: compilation fails when using dict member when skipping.\nSolution:   Do not generate ISN_USEDICT when skipping. (closes #10433)\n"
    },
    {
      "commit": "31ad32a325cc31f0f2bdd530c68bfb856a2187c5",
      "tree": "2d5c5b8dbe517839bb701a4fff721ec290f06fd6",
      "parents": [
        "d881d1598467d88808bafd2fa86982ebbca7dcc1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 13 16:23:37 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 13 16:23:37 2022 +0100"
      },
      "message": "patch 8.2.4949: Vim9: some code not covered by tests\n\nProblem:    Vim9: some code not covered by tests.\nSolution:   Add a few more test cases.  Fix double error message.\n"
    },
    {
      "commit": "7f8a3b11bfc02f24dfd877d0a81392d679008180",
      "tree": "baefbbb6151f6cc271f3cc4dccd15f3409f35a17",
      "parents": [
        "9f1983de4e8293bae32fdab72a459b1b64bf767f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 12 22:03:01 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 12 22:03:01 2022 +0100"
      },
      "message": "patch 8.2.4946: Vim9: some code not covered by tests\n\nProblem:    Vim9: some code not covered by tests.\nSolution:   Add a few more test cases.  Remove dead code.\n"
    },
    {
      "commit": "d0132f4862342eebe6d8e7a9096adf956ba6588b",
      "tree": "35f8e608d149f904667565c92917b105e020f150",
      "parents": [
        "9af2bc075169e14fd06ed967d28eac7206d21f36"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 12 11:05:40 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 12 11:05:40 2022 +0100"
      },
      "message": "patch 8.2.4940: some code is never used\n\nProblem:    Some code is never used.\nSolution:   Remove dead code.  Add a few more test cases.\n"
    },
    {
      "commit": "0abc2871c105882ed1c1effb9a7757fad8a395bd",
      "tree": "0377e3f47b0fda6713cc0e8b6426616457e07912",
      "parents": [
        "57ff52677bf5ba1651281ffe40505df8feba4a36"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 10 13:24:30 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 10 13:24:30 2022 +0100"
      },
      "message": "patch 8.2.4930: interpolated string expression requires escaping\n\nProblem:    Interpolated string expression requires escaping.\nSolution:   Do not require escaping in the expression.\n"
    },
    {
      "commit": "2eaef106e4a7fc9dc74a7e672b5f550ec1f9786e",
      "tree": "543832333e5ef90b9e51477457a7e65572274227",
      "parents": [
        "e7d6dbc5721342e3d6b04cf285e4510b5569e707"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Fri May 06 13:14:50 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 06 13:14:50 2022 +0100"
      },
      "message": "patch 8.2.4883: string interpolation only works in heredoc\n\nProblem:    String interpolation only works in heredoc.\nSolution:   Support interpolated strings.  Use syntax for heredoc consistent\n            with strings, similar to C#. (closes #10327)\n"
    },
    {
      "commit": "f3b4895f2727e3849ca10030b251cccd9d1383f3",
      "tree": "97af9696abeba219135a0baf1947058cd4d5d995",
      "parents": [
        "e442d59f6d6732c226d636067c07b7342838b36b"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Thu May 05 13:53:03 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu May 05 13:53:03 2022 +0100"
      },
      "message": "patch 8.2.4870: Vim9: expression in :substitute is not compiled\n\nProblem:    Vim9: expression in :substitute is not compiled.\nSolution:   Use an INSTR instruction if possible. (closes #10334)\n"
    },
    {
      "commit": "372bcceeee8012ef3fb2f3dbc8132c3a33cb84fc",
      "tree": "fd5e5a86cf23a018f653097a7c7477c532316a36",
      "parents": [
        "af59e34f1bf214ec6f2d0304c1c5b11ecda25a83"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Mon Apr 25 12:43:20 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 25 12:43:20 2022 +0100"
      },
      "message": "patch 8.2.4823: concat more than 2 strings in :def function is inefficient\n\nProblem:    Concatenating more than 2 strings in a :def function is\n            inefficient.\nSolution:   Add a count to the CONCAT instruction. (closes #10276)\n"
    },
    {
      "commit": "58f331a05f5b7bdddf04e68b6e51a827fd0c43f0",
      "tree": "349de5cab822dc0ccaea9c127fc960f6ab335d2f",
      "parents": [
        "0dac1ab5791819ee9a496273eea38f69a217ac45"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Sat Apr 02 21:59:06 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 02 21:59:06 2022 +0100"
      },
      "message": "patch 8.2.4669: in compiled code len(\u0027string\u0027) is not inlined\n\nProblem:    In compiled code len(\u0027string\u0027) is not inlined.\nSolution:   Compute the length at compile time if possible. (closes #10065)\n"
    },
    {
      "commit": "ffe6e646dc6aede3bce062e40256ce0edc64bc08",
      "tree": "218a914fd35cd8dfe03190765d3712d5e8236f6f",
      "parents": [
        "782c6744b49b30d9460ed00d4773666e42e07163"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 01 13:23:47 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 01 13:23:47 2022 +0100"
      },
      "message": "patch 8.2.4661: Coverity warning for using uninitialized variable\n\nProblem:    Coverity warning for using uninitialized variable.\nSolution:   Initialize variable to NULL.\n"
    },
    {
      "commit": "a6c18d38ca2df0a92403f2265a480d9dba08290f",
      "tree": "ac3af2c88f7576100428d53d3b9aae6bbf993f8c",
      "parents": [
        "ccbfd4883f0385a1d84cc87785ddcc86185b4ad9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 31 20:02:56 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 31 20:02:56 2022 +0100"
      },
      "message": "patch 8.2.4657: errors for functions are sometimes hard to read\n\nProblem:    Errors for functions are sometimes hard to read.\nSolution:   Use printable_func_name() in more places.\n"
    },
    {
      "commit": "ccbfd4883f0385a1d84cc87785ddcc86185b4ad9",
      "tree": "65f63c71b3792956985261e7ae0e4a02df0e9884",
      "parents": [
        "1104a6d0c2004d39e9b6cb8f804d12b628a69869"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 31 16:18:23 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 31 16:18:23 2022 +0100"
      },
      "message": "patch 8.2.4656: Vim9: can\u0027t use item from \"import autoload\" with autoload dir\n\nProblem:    Vim9: can\u0027t use items from \"import autoload\" with autoload\n            directory name.\nSolution:   Let sn_autoload_prefix overrule sn_import_autoload.\n            (closes #10054)\n"
    },
    {
      "commit": "c0ceeeb839b8c6bebd3a2abd1c07d40ec3c6edca",
      "tree": "2f51e084f45dbe3437520d32f83e67fb9704aa6b",
      "parents": [
        "b4ad3b0deac12674a7773311890b48fd39c6807c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 30 21:12:27 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 30 21:12:27 2022 +0100"
      },
      "message": "patch 8.2.4650: \"import autoload\" only works with using \u0027runtimepath\u0027\n\nProblem:    \"import autoload\" only works with using \u0027runtimepath\u0027.\nSolution:   Also support a relative and absolute file name.\n"
    },
    {
      "commit": "ec15b1cfdc5faadb529dedda58adf7fc98c839ed",
      "tree": "cdcf7ffa3e2ed7de3fc890f6415a0be84ad1e490",
      "parents": [
        "c75bca3ee955ff36ece99a42041733ddea5f45a7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 27 16:29:53 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 27 16:29:53 2022 +0100"
      },
      "message": "patch 8.2.4634: Vim9: cannot initialize a variable to null_list\n\nProblem:    Vim9: cannot initialize a variable to null_list.\nSolution:   Give negative count to NEWLIST. (closes #10027)\n            Also fix inconsistencies in comparing with null values.\n"
    },
    {
      "commit": "a915fa010330ee7212e06d3511acd363d04d2d28",
      "tree": "632c812369ceff7cfb07ea46358ebfb010868943",
      "parents": [
        "81b573d7e55bd48988f298ce8e652d902e9bdeba"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 23 11:29:15 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 23 11:29:15 2022 +0000"
      },
      "message": "patch 8.2.4612: Vim9: cannot use a recursive call in a nested function\n\nProblem:    Vim9: cannot use a recursive call in a nested function. (Sergey\n            Vlasov)\nSolution:   Define the funcref before compiling the function. (closes #9989)\n"
    },
    {
      "commit": "21dc8f1527fc41405b26a26bb0c318c4b7c1b5d4",
      "tree": "84d03a529ed392166ed79176580a01f00fa40807",
      "parents": [
        "5cffa8df7e3c28681b9e5deef6df395784359b6b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 16 17:54:17 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 16 17:54:17 2022 +0000"
      },
      "message": "patch 8.2.4580: Vim9: incorrect error for shadowing variable\n\nProblem:    Vim9: incorrect error for shadowing variable.\nSolution:   Do not pass the context when compiling a referenced function.\n"
    },
    {
      "commit": "139575de6653e7fd5807cb036dfb3684b815c519",
      "tree": "55a74125f139573cb1839c3b78cac73d3640f82c",
      "parents": [
        "48f69cdfa401999ac5ff8cef6d8dcabe3f93e284"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 15 19:29:30 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 15 19:29:30 2022 +0000"
      },
      "message": "patch 8.2.4575: Vim9: test for profiling still fails\n\nProblem:    Vim9: test for profiling still fails.\nSolution:   Update flags for profiling and breakpoints when obtaining the\n            compile type.  Do not set the FC_CLOSURE flag for a toplevel\n            function.\n"
    },
    {
      "commit": "96923b7a14839e7505b194ab76e1f15bb88fa7ed",
      "tree": "81ea9b6fd45875d67c735a49f08b9c26df6fe01d",
      "parents": [
        "1a572e9b3b497e0412b4001cd9c6859db0c35412"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 15 15:57:04 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 15 15:57:04 2022 +0000"
      },
      "message": "patch 8.2.4573: a nested function is compiled for debugging without context\n\nProblem:    A nested function (closure) is compiled for debugging without\n            context.\nSolution:   Check if a nested function is marked for debugging before\n            compiling it.  Give an error when trying to compile a closure\n            without its context. (closes #9951)\n"
    },
    {
      "commit": "8acb9cc6209768ca7ec75c9f7af8c389312ea8d6",
      "tree": "8a5f92b1b10f53f7a3f0e95ffbdcb519ce9ecb09",
      "parents": [
        "08238045e769fce2d5bf1e17167e26eafc3d72b8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 08 13:18:55 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 08 13:18:55 2022 +0000"
      },
      "message": "patch 8.2.4526: Vim9: cannot set variables to a null value\n\nProblem:    Vim9: cannot set variables to a null value.\nSolution:   Add null_list, null_job, etc.\n"
    },
    {
      "commit": "afa048f0d4b5d63f2192c9ba340a9eb8b0822985",
      "tree": "1ee615badc0dc451a01bbe90a887c3d4460dd2d9",
      "parents": [
        "fe73255c92b6cb54851f82fa32458340b736298d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 22 20:43:36 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 22 20:43:36 2022 +0000"
      },
      "message": "patch 8.2.4447: Vim9: can still use s:var in a compiled function\n\nProblem:    Vim9: can still use s:var in a compiled function.\nSolution:   Disallow using s:var for Vim9 script. (closes #9824)\n"
    },
    {
      "commit": "4b1d9639726ebe1630991488a1314db628b6b854",
      "tree": "1c917ecce981d10d7a8abcd1a92530df399d786d",
      "parents": [
        "0631bb4ed7674b88ba395daf59ed222f77bc4913"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 13 21:51:08 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 13 21:51:08 2022 +0000"
      },
      "message": "patch 8.2.4375: ctx_imports is not used\n\nProblem:    ctx_imports is not used.\nSolution:   Delete ctx_imports.  Add missing dependency.\n"
    },
    {
      "commit": "b6a138eb334621f60c5891d035f80f398d59dbd3",
      "tree": "cc5a52690b5e52b64c0dfe2e489e5f01feabac68",
      "parents": [
        "dce2441a603f2c9343a4a46091283a32420d80a2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 08 21:17:22 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 08 21:17:22 2022 +0000"
      },
      "message": "patch 8.2.4333: cstack not always passed to where it is needed\n\nProblem:    cstack not always passed to where it is needed.\nSolution:   Pass ctack through functions.\n"
    },
    {
      "commit": "dce2441a603f2c9343a4a46091283a32420d80a2",
      "tree": "649301b5de780305aa6869466f859fe86692d55a",
      "parents": [
        "3a5988c025f8517ba382730dc54bb13df937edb4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 08 20:35:30 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 08 20:35:30 2022 +0000"
      },
      "message": "patch 8.2.4332: Vim9: incomplete test for existing script variable in block\n\nProblem:    Vim9: incomplete test for existing script variable in block.\nSolution:   Add a couple more tests.  Fix uncovered problem.\n"
    },
    {
      "commit": "5f4ef5f5e5529c147c2274cd0f6416e2546d6fc7",
      "tree": "dbcf399d3abbf0c263598de89be4f49ff463c1ff",
      "parents": [
        "107f7325f615a1ffa5b49521e316b44e117b0a04"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 06 18:36:53 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 06 18:36:53 2022 +0000"
      },
      "message": "patch 8.2.4313: Vim9: cannot change type of list after making a slice\n\nProblem:    Vim9: cannot change type of list after making a slice.\nSolution:   Adjust the declared member type. (closes #9696)\n"
    },
    {
      "commit": "83d0cec95697c244c8096c78aa806469302a8e19",
      "tree": "a61468f75acdcedd8603b71051ab9ff21022fcea",
      "parents": [
        "3e79c97c18c50f97797ab13ed81c4011eba9aba0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 04 21:17:58 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 04 21:17:58 2022 +0000"
      },
      "message": "patch 8.2.4296: Vim9: not all code covered by tests\n\nProblem:    Vim9: not all code covered by tests.\nSolution:   Add a few more tests for corner cases.  Fix hang when single quote\n            is missing.\n"
    },
    {
      "commit": "eb4a9ba293be51039e57e0e18337785e2ce526e7",
      "tree": "740872773f1136617adc26abbe640b62c9a2fecd",
      "parents": [
        "8133018f50bc447570825801e93d5ed67e8dac90"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 01 12:47:07 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 01 12:47:07 2022 +0000"
      },
      "message": "patch 8.2.4280: list-dict test crashes\n\nProblem:    list-dict test crashes.\nSolution:   Check declared type for add().\n"
    },
    {
      "commit": "848faddb870f3ba4d84fcacd1cccb5cdbbfd9c41",
      "tree": "2215ac87eeddd465bb8339ca6654a4edde1efd52",
      "parents": [
        "06011e1a55f32e47fe0af4bd449be6f0e3ff0814"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 30 15:28:30 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 30 15:28:30 2022 +0000"
      },
      "message": "patch 8.2.4260: Vim9: can still use a global function without g:\n\nProblem:    Vim9: can still use a global function without g: at the script\n            level.\nSolution:   Also check for g: at the script level. (issue #9637)\n"
    },
    {
      "commit": "62aec93bfdb9e1b40d03a6d2e8e9511f8b1bdb2d",
      "tree": "8f2962626c458f5ac5fa1f2ec46e79248683c81d",
      "parents": [
        "135e15251efd96c960e51e8ab31333c2d6887983"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 29 21:45:34 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 29 21:45:34 2022 +0000"
      },
      "message": "patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent\n\nProblem:    Vim9: finding global function without g: prefix but not finding\n            global variable is inconsistent.\nSolution:   Require using g: for a global function.  Change the vim9.vim\n            script into a Vim9 script with exports.  Fix that import in legacy\n            script does not work.\n"
    },
    {
      "commit": "06b77229ca704d00c4f138ed0377556e54d5851f",
      "tree": "6b24e9838841943803574a424599d687be2c05f1",
      "parents": [
        "dc5490e2cbc8c16022a23b449b48c1bd0083f366"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 25 15:51:56 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 25 15:51:56 2022 +0000"
      },
      "message": "patch 8.2.4216: Vim9: cannot use a function from an autoload import directly\n\nProblem:    Vim9: cannot use a function from an autoload import directly.\nSolution:   Add the AUTOLOAD instruction to figure out at runtime.\n            (closes #9620)\n"
    },
    {
      "commit": "21f0d6cbca9c93e2319d45a33ba26b10a85ff4dc",
      "tree": "3015c586b20581bd659e909b145cfc282f1caaf1",
      "parents": [
        "4ede01f18884961f2e008880b4964e5d61ea5c36"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 20 17:35:49 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 20 17:35:49 2022 +0000"
      },
      "message": "patch 8.2.4161: Vim9: warning for missing white space after imported variable\n\nProblem:    Vim9: warning for missing white space after imported variable.\nSolution:   Do not skip white space. (closes #9567)\n"
    },
    {
      "commit": "f67c717e34e5553ab1c3b02b1861274cbcb78935",
      "tree": "6c85b22a9235a7a80d2ea5c2e86a8d9d478c4e1c",
      "parents": [
        "937610bc9f9c827e3e25fed32661fcbf3f994e10"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 19 17:23:05 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 19 17:23:05 2022 +0000"
      },
      "message": "patch 8.2.4146: Vim9: shadowed function can be used in compiled function\n\nProblem:    Vim9: shadowed function can be used in compiled function but not\n            at script level.\nSolution:   Also give an error in a compiled function. (closes #9563)\n"
    },
    {
      "commit": "d02dce2bb572f0e6b4570442e9cdbed14ef41820",
      "tree": "8d45fb3ef354ba98df86fd26701570e2c2644680",
      "parents": [
        "fd218c8a36e7ed33f7a205163690c5b7d2f31f8a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 18 17:43:04 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 18 17:43:04 2022 +0000"
      },
      "message": "patch 8.2.4137: Vim9: calling import with and without method is inconsistent\n\nProblem:    Vim9: calling import with and without method is inconsistent.\nSolution:   Set a flag that a parenthsis follows to compile_load_scriptvar().\n            Add some more tests.  Improve error message.\n"
    },
    {
      "commit": "6389baa6691fde4ca56ec6243ed83322543df300",
      "tree": "0fd7d97f6e9a39add3c4e1d47e952e237fd4893e",
      "parents": [
        "15d1635e50896002fbd4ebbc896b78a155b2487d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 17 20:50:40 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 17 20:50:40 2022 +0000"
      },
      "message": "patch 8.2.4124: Vim9: method in compiled function may not see script item\n\nProblem:    Vim9: method in compiled function may not see script item.\nSolution:   Make sure not to skip to the next line. (closes #9496)\n"
    },
    {
      "commit": "c73499351aef8b611b13c70ef8706a7e98df67a8",
      "tree": "0bd714b189d862e3432dc734843b805ccfb93bda",
      "parents": [
        "c665dabdf4c49a0fbf1dc566253c75c2abe2effa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 16 20:59:39 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 16 20:59:39 2022 +0000"
      },
      "message": "patch 8.2.4116: Vim9: cannot use a method with a complex expression in :def\n\nProblem:    Vim9: cannot use a method with a complex expression in a :def\n            function.\nSolution:   Implement compiling the expression.\n"
    },
    {
      "commit": "d9d2fd0aa33dd9f7460d6f1e403505a60f7ce2fc",
      "tree": "ce93edde74aa48c017e39bd350b79a7955d89b22",
      "parents": [
        "c43e6235c7b3e64f81c6a4e294e4e47abf7a869a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 13 21:15:21 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 13 21:15:21 2022 +0000"
      },
      "message": "patch 8.2.4086: \"cctx\" argument of find_func_even_dead() is unused\n\nProblem:    \"cctx\" argument of find_func_even_dead() is unused.\nSolution:   Remove the argument.\n"
    },
    {
      "commit": "d041f4208b0a2149e9d41f6443aa1c14c076a411",
      "tree": "2fed762d017d9bae0177f03d021964b321db35f5",
      "parents": [
        "53c296112edd8471eb63afbca03f96bad164c813"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 12 19:54:00 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 12 19:54:00 2022 +0000"
      },
      "message": "patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded\n\nProblem:    Vim9: compiling function fails when autoload script is not loaded\n            yet.\nSolution:   Depend on runtime loading.\n"
    },
    {
      "commit": "dc4451df61a6aa12a0661817b7094fb32f09e11d",
      "tree": "98d2ef08366773a3eadb41ec581b1c5e652e3114",
      "parents": [
        "5f25c3855071bd7e26255c68bf458b1b5cf92f39"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 09 21:36:37 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 09 21:36:37 2022 +0000"
      },
      "message": "patch 8.2.4050: Vim9: need to prefix every item in an autoload script\n\nProblem:    Vim9: need to prefix every item in an autoload script.\nSolution:   First step in supporting \"vim9script autoload\" and \"import\n            autoload\".\n"
    },
    {
      "commit": "5f25c3855071bd7e26255c68bf458b1b5cf92f39",
      "tree": "7c5185450e9ab3f28dcbb80a6fb6735eac736980",
      "parents": [
        "c14f667626ba677a767d474324306e39096dc43e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 09 13:36:28 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 09 13:36:28 2022 +0000"
      },
      "message": "patch 8.2.4049: Vim9: reading before the start of the line with \"$\"\n\nProblem:    Vim9: reading before the start of the line with \"$\" by itself.\nSolution:   Do not subtract one when reporting the error.\n"
    },
    {
      "commit": "d5f400c607182db6d4fbe2964471d796277f67e8",
      "tree": "285e08dceecf77069c17d1c513e3c918140b18dc",
      "parents": [
        "18f4740f043b353abe47b7a00131317052457686"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 06 21:10:28 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 06 21:10:28 2022 +0000"
      },
      "message": "patch 8.2.4019: Vim9: import mechanism is too complicated\n\nProblem:    Vim9: import mechanism is too complicated.\nSolution:   Do not use the Javascript mechanism but a much simpler one.\n"
    },
    {
      "commit": "078a46161e8b1b30bf306d6c1f4f0af7c616a989",
      "tree": "334c2fa968e1641524028ac18afedf5980446e64",
      "parents": [
        "9acf2d8be93f3b50607279e7f3484b019675d0a7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 04 15:17:03 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 04 15:17:03 2022 +0000"
      },
      "message": "patch 8.2.3996: Vim9: type checking lacks information about declared type\n\nProblem:    Vim9: type checking for list and dict lacks information about\n            declared type.\nSolution:   Add dv_decl_type and lv_decl_type.  Refactor the type stack to\n            store two types in each entry.\n"
    },
    {
      "commit": "3a846e6bca25bd3d0addcd9ed3bdd9a6774adbe5",
      "tree": "e345b4f42d545e735e2df2292589211ba52ff678",
      "parents": [
        "0699b040e6794d27ffdca241a4358d7c31876385"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 16:21:00 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 16:21:00 2022 +0000"
      },
      "message": "patch 8.2.3972: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move the last errors from globals.h to errors.h.\n"
    },
    {
      "commit": "74409f62790a93daf0965c71da01ff76aa0fa5a5",
      "tree": "ece55c806dc6fe451d24af66008ae1444d81d73d",
      "parents": [
        "56200eed62e59ad831f6564dcafe346e6f97ac20"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 15:58:22 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 15:58:22 2022 +0000"
      },
      "message": "patch 8.2.3970: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "460ae5dfca31fa627531c263184849976755cf6b",
      "tree": "d94de6a24285bc10fd62ad4ae9aecb53f9a7e913",
      "parents": [
        "b37a65e4bf08c4eec4fa5b81a5efc3945fca44de"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 14:19:49 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 14:19:49 2022 +0000"
      },
      "message": "patch 8.2.3967: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "5da36052a4bb0f3a9747ec3a8ab9d85e058e39fa",
      "tree": "9660c5a693b3d25c4b6db76ca79204b99c6bea2d",
      "parents": [
        "bf7ff61af490a2fbc0d9c7d42f3bb7eb7d37127e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 27 15:39:57 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 27 15:39:57 2021 +0000"
      },
      "message": "patch 8.2.3913: help for expressions does not mention Vim9 syntax\n\nProblem:    Help for expressions does not mention Vim9 syntax.\nSolution:   Add the rules for Vim9 to the expression help.  Rename functions\n            to match the help.\n"
    },
    {
      "commit": "fa46ead31abe66494da775921feefece02ce6d95",
      "tree": "61932b619ca1b7c096e4001b23608652310970ea",
      "parents": [
        "1b5f7a6202406b7d7ac804960602350e42b8be80"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 22 13:18:39 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 22 13:18:39 2021 +0000"
      },
      "message": "patch 8.2.3869: Vim9: type checking for \"any\" is inconsistent\n\nProblem:    Vim9: type checking for \"any\" is inconsistent.\nSolution:   Always use a runtime type check for using \"any\" for a more\n            specific type.\n"
    },
    {
      "commit": "59618fed4ce118d12686c2e5c7c09601c8177817",
      "tree": "452cda2940d810a2b346826c09b8bd6c23952c6e",
      "parents": [
        "0d807107b66e0d30d4f338c272962af5714c400e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 21 12:32:17 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 21 12:32:17 2021 +0000"
      },
      "message": "patch 8.2.3866: Vim9: type checking global variables is inconsistent\n\nProblem:    Vim9: type checking global variables is inconsistent.\nSolution:   Use the \"unknown\" type in more places.\n"
    },
    {
      "commit": "dc7c366f3aae65ee691010b08f37acfb26e0742b",
      "tree": "90d12bd3030048100a9c5084474aef484f6fc58f",
      "parents": [
        "a99fb23842f055c511bfe1b62de7bbd14d5a99c0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 20 15:04:29 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 20 15:04:29 2021 +0000"
      },
      "message": "patch 8.2.3860: Vim9: codecov struggles with the file size\n\nProblem:    Vim9: codecov struggles with the file size.\nSolution:   Split vim9compile.c into four files.\n"
    }
  ]
}
