)]}'
{
  "log": [
    {
      "commit": "912bfee71041fce0902bbcb649faf247519ec400",
      "tree": "efebe3c414a8fd308658a26a8c72233471a6fdfc",
      "parents": [
        "32517c4c14ed3f9240fcd5b7c01d0ca2e586f7e4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 15 20:18:55 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 15 20:18:55 2023 +0000"
      },
      "message": "patch 9.0.1204: expression compiled the wrong way after using an object\n\nProblem:    Expression compiled the wrong way after using an object.\nSolution:   Generate constants before getting the type.\n"
    },
    {
      "commit": "6aa0937fb88001a5ea18e732aad4c625e9b2baeb",
      "tree": "666baf14dcbf1fcc229d9196c3931c20f766e27d",
      "parents": [
        "58b40092e616585a763cf4d214d47ccd9167d6f7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 11 17:59:38 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 11 17:59:38 2023 +0000"
      },
      "message": "patch 9.0.1179: not all errors around inheritance are tested\n\nProblem:    Not all errors around inheritance are tested.\nSolution:   Add more tests.  Fix uncovered problems.\n"
    },
    {
      "commit": "58b40092e616585a763cf4d214d47ccd9167d6f7",
      "tree": "d0b7b8411f134511a3b46792ee016af9f8f60539",
      "parents": [
        "ad15a39fdbde5ef8d4af9e0fca7e7e53b4843270"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 11 15:59:05 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 11 15:59:05 2023 +0000"
      },
      "message": "patch 9.0.1178: a child class cannot override functions from a base class\n\nProblem:    A child class cannot override functions from a base class.\nSolution:   Allow overriding and implement \"super\".\n"
    },
    {
      "commit": "01c5f2addf86b8d8940d71c92f6219f14a6df99e",
      "tree": "98f67bece937f75625f0eff0fb40dc04cd8d9fee",
      "parents": [
        "dda3053121abd72f50788d6615163e99c1cfff2b"
      ],
      "author": {
        "name": "h-east",
        "email": "h.east.727@gmail.com",
        "time": "Mon Jan 09 15:10:40 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 09 15:10:40 2023 +0000"
      },
      "message": "patch 9.0.1164: evaluating string expression advances function line\n\nProblem:    Evaluating string expression advances function line.\nSolution:   Disable function lines while parsing a string expression.\n            (Hirohito Higashi, closes #11796)\n"
    },
    {
      "commit": "3259ff3b3bd152d61c1cef7901023034c0d655a3",
      "tree": "fd0aa894a0ba56586ee392eb69ee98e4b3a3d954",
      "parents": [
        "c8b204952f0452fe1276d30ae6a5d38a3f421b95"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 04 18:54:09 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 04 18:54:09 2023 +0000"
      },
      "message": "patch 9.0.1147: cannot access a class member in a compiled function\n\nProblem:    Cannot access a class member in a compiled function.\nSolution:   Implement looking up a class member.\n"
    },
    {
      "commit": "574950dfb1d353f094463b709e39544ebf8fcdcd",
      "tree": "373b4e15d3a41dc6641a33ffb1de2282d2743392",
      "parents": [
        "46ab925937d04c208d905cfb50bd8ffcae11e466"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 03 19:08:50 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 03 19:08:50 2023 +0000"
      },
      "message": "patch 9.0.1140: cannot call an object method in a compiled function\n\nProblem:    Cannot call an object method in a compiled function.\nSolution:   Compile the instructins to invoke an object method.\n"
    },
    {
      "commit": "46ab925937d04c208d905cfb50bd8ffcae11e466",
      "tree": "a53164b0853374c62ccea3afb4b07314d8fad66c",
      "parents": [
        "36818a9daafbcb8e3b06be7b07f52b2d00a61746"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 03 14:01:21 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 03 14:01:21 2023 +0000"
      },
      "message": "patch 9.0.1139: cannot create a new object in a compiled function\n\nProblem:    Cannot create a new object in a compiled function.\nSolution:   Compile the instructins to create a new object.\n"
    },
    {
      "commit": "bcf31ec36b4b056bf06d21036640c6f0235e9c2b",
      "tree": "770b7eb39ad0fd3e9095703773474cda107a44e9",
      "parents": [
        "a9fa8c58fbcc5cf8850f6963c509de272f4d4bbf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 02 20:32:24 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 02 20:32:24 2023 +0000"
      },
      "message": "patch 9.0.1134: comparing objects uses identity instead of equality\n\nProblem:    Comparing objects uses identity instead of equality.\nSolution:   Compare the object values.\n"
    },
    {
      "commit": "a9fa8c58fbcc5cf8850f6963c509de272f4d4bbf",
      "tree": "891f3c44b937d7a4a7492b83826ca114c31f22ff",
      "parents": [
        "dc4daa3a3915fba11ac87d27977240d9a5e0d47d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 02 18:10:04 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 02 18:10:04 2023 +0000"
      },
      "message": "patch 9.0.1133: error message names do not match the items\n\nProblem:    Error message names do not match the items.\nSolution:   Add \"_str\" when the text contains \"%s\".\n"
    },
    {
      "commit": "6acf757c6a11c0653b0132a17c22983856da5ad6",
      "tree": "8e5a3c9b014b9f008a66aac1bfcaaf9a26efee46",
      "parents": [
        "fc966c19f85afc6b856a06c00a93c4fe96280d31"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 01 19:53:30 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 01 19:53:30 2023 +0000"
      },
      "message": "patch 9.0.1127: no error if function argument shadows class member\n\nProblem:    No error if function argument shadows class member.\nSolution:   Give an error for shadowing a class member.\n"
    },
    {
      "commit": "6bafdd41cbf8c06bc00f19dcf4e1c8292460b4dd",
      "tree": "8a3152f458b00bf0c4bf0e09fee13416e2da1d8f",
      "parents": [
        "9f2d97efe28d32d6e4960e41e80413713f8d1d18"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 01 12:58:33 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 01 12:58:33 2023 +0000"
      },
      "message": "patch 9.0.1123: class function not implemented yet\n\nProblem:    Class function not implemented yet.\nSolution:   Implement defining and calling a class function.\n"
    },
    {
      "commit": "c6951a76a58663ef8a773d340f2260da7455643c",
      "tree": "85498d64d07c8c65919d0938494a754a213e21c4",
      "parents": [
        "73ade49c4b692e77d2c0b2ef0afbedbf55c5f946"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 29 20:56:24 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 29 20:56:24 2022 +0000"
      },
      "message": "patch 9.0.1108: type error when using \"any\" type and adding to float\n\nProblem:    Type error when using \"any\" type and adding a number to a float.\nSolution:   Accept both a number and a float. (closes #11753)\n"
    },
    {
      "commit": "73ade49c4b692e77d2c0b2ef0afbedbf55c5f946",
      "tree": "1b71849aa638b9678d9a501494d8d82c6a68f4d1",
      "parents": [
        "09ce0b8e1197c85dacf97e75b9b9ac18e0d192df"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 27 20:54:41 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 27 20:54:41 2022 +0000"
      },
      "message": "patch 9.0.1107: float constant not recognized as float\n\nProblem:    Float constant not recognized as float.\nSolution:   Check the vartype instead of comparing with t_float.\n            (closes #11754)\n"
    },
    {
      "commit": "d505d178858434e1afef0363a9fce4bcb1bc3d06",
      "tree": "358c5f600112605517bb4b92ab155ce2e55e7123",
      "parents": [
        "731d00770d9006e7dab6a66e2ea86603ed5ef212"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 18 21:42:55 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 18 21:42:55 2022 +0000"
      },
      "message": "patch 9.0.1074: class members are not supported yet\n\nProblem:    Class members are not supported yet.\nSolution:   Add initial support for class members.\n"
    },
    {
      "commit": "3d473ee1a6aed7cb9eae458bbd8d42dffdc754f9",
      "tree": "787ae08f91baa1ef09a13c88adf209b7486e892b",
      "parents": [
        "f94178db8d7324099b1bf916a0dff022c08abdff"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 14 20:59:32 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 14 20:59:32 2022 +0000"
      },
      "message": "patch 9.0.1060: private and public object members are not implemented yet\n\nproblem:    Private and public object members are not implemented yet.\nSolution:   Implement private and public object members.\n"
    },
    {
      "commit": "7ce7daf6cd6a7ed27eac060699026640b4b239a8",
      "tree": "bb6ddd44c1e6133c82ce791d9568405723f251af",
      "parents": [
        "6c87bbb4e45515e70ac1728cabd1451063bf427d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 10 18:42:12 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 10 18:42:12 2022 +0000"
      },
      "message": "patch 9.0.1045: in a class object members cannot be initialized\n\nProblem:    In a class object members cannot be initialized.\nSolution:   Support initializing object members. Make \"dissassemble\" work on\n            an object method.\n"
    },
    {
      "commit": "ffdaca9e6f3d39af6857ac52ced9385df203a152",
      "tree": "04ed8cbe05e072413dd394828d7661167ad63b6c",
      "parents": [
        "148bcd361097f85a1a51c408e7412d60c76df14d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 09 21:41:48 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 09 21:41:48 2022 +0000"
      },
      "message": "patch 9.0.1041: cannot define a method in a class\n\nProblem:    Cannot define a method in a class.\nSolution:   Implement defining an object method.  Make calling an object\n            method work.\n"
    },
    {
      "commit": "00b28d6c23d8e662cab27e461825777c0a2e387a",
      "tree": "ba11ed85b20cf03491e0f24b6d5bf348d2c19388",
      "parents": [
        "038e6d20e680ce8c850d07f6b035c4e1904c1201"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 08 15:32:33 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 08 15:32:33 2022 +0000"
      },
      "message": "patch 9.0.1031: Vim9 class is not implemented yet\n\nProblem:    Vim9 class is not implemented yet.\nSolution:   Add very basic class support.\n"
    },
    {
      "commit": "adbc08fd69433b5216e609a404d674f3e67eea9c",
      "tree": "0b66f034862e8d7c40116326e64382fcafed0b7d",
      "parents": [
        "69a8bb8dc13571102537762b047747cc36b53d5d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 06 18:27:17 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 06 18:27:17 2022 +0000"
      },
      "message": "patch 9.0.0840: cannot change a slice of a const list\n\nProblem:    Cannot change a slice of a const list. (Takumi KAGIYAMA)\nSolution:   Remove the const flag from the slice type. (closes #11490)\n"
    },
    {
      "commit": "c57b5bcd22826e0852c2bc9c7d4382e1cac7cb74",
      "tree": "d5163254047cdaa5cedd5caa4745727f6124eaf3",
      "parents": [
        "1410d1841bfc4370dec1babe24c6664e06d7c9d9"
      ],
      "author": {
        "name": "dundargoc",
        "email": "gocdundar@gmail.com",
        "time": "Wed Nov 02 13:30:51 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 02 13:30:51 2022 +0000"
      },
      "message": "patch 9.0.0828: various typos\n\nProblem:    Various typos.\nSolution:   Correct typos. (closes #11432)\n"
    },
    {
      "commit": "d0fbb41eaa737dd64877c8cebaff19854e2d504f",
      "tree": "4f6bf9f57087535af63a4503a2a81192468bcb15",
      "parents": [
        "3c708c43908ba44f075bbaa7daf584c6b46d9723"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 19 18:04:49 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 19 18:04:49 2022 +0100"
      },
      "message": "patch 9.0.0799: in compiled function -\u003e() on next line not recognized\n\nProblem:    In compiled function -\u003e() on next line not recognized.\nSolution:   Also check for \"(\". (closes #11405)\n"
    },
    {
      "commit": "4913d420e8e8619cff837372bce87683d6fcaa03",
      "tree": "4485db34731a29ea8bbaded0f984f9633c6bf6a8",
      "parents": [
        "3f0092c141824356b55b11cd3985baaf4df65334"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 17 13:13:32 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 17 13:13:32 2022 +0100"
      },
      "message": "patch 9.0.0778: indexing of unknown const type fails during compilation\n\nProblem:    Indexing of unknown const type fails during compilation.\nSolution:   Check for \"any\" properly. (closes #11389)\n"
    },
    {
      "commit": "f8addf1ca1d8c7801f6dded2341b7084d2b93e5e",
      "tree": "419cf1a57caa244652d839ea1b2331329c3f0c77",
      "parents": [
        "f5f4e85f0189790ab81c0005b703604721db13d4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 23 12:44:25 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 23 12:44:25 2022 +0100"
      },
      "message": "patch 9.0.0554: using freed memory when command follows lambda\n\nProblem:    Using freed memory when command follows lambda.\nSolution:   Don\u0027t free what is still in use. (closes #11201)\n"
    },
    {
      "commit": "c9e4a6f1910dea250af69a3774bcf1fee7e7b8f5",
      "tree": "42cdd46d684341357d892515750254d8ca13dd8c",
      "parents": [
        "65449bd1ee5cebde288a8f0150fe7d54c6c6ef31"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 19 16:08:04 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 19 16:08:04 2022 +0100"
      },
      "message": "patch 9.0.0504: still a build failure\n\nProblem:    still a Build failure.\nSolution:   Add another missing changes.  Avoid compiler warning.\n"
    },
    {
      "commit": "73e28dcc6125f616cf1f2d56443d22428a79e434",
      "tree": "bc26b3d1bb2e1675b7dae14b6c9cda1cd42c90d6",
      "parents": [
        "1c3dd8ddcba63c1af5112e567215b3cec2de11d0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 17 21:08:33 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 17 21:08:33 2022 +0100"
      },
      "message": "patch 9.0.0491: no good reason to build without the float feature\n\nProblem:    No good reason to build without the float feature.\nSolution:   Remove configure check for float and \"#ifdef FEAT_FLOAT\".\n"
    },
    {
      "commit": "8fa745e7be3a791ac25f93ef0227bbc48ade8a37",
      "tree": "2784f5de78824527acc5d31f3eb96fd4264ac989",
      "parents": [
        "abd58d8aee7fec2b9e07c829eb925b0a1f7118db"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 16 19:04:24 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 16 19:04:24 2022 +0100"
      },
      "message": "patch 9.0.0481: in :def function all closures in loop get the same variables\n\nProblem:    In a :def function all closures in a loop get the same variables.\nSolution:   Use a separate list of variables for LOADOUTER and STOREOUTER.\n            Not copied at end of loop yet.\n"
    },
    {
      "commit": "f5fec05c7fd0df4c934a838e82882e601dc920cb",
      "tree": "74784b4dea1eba5a74dc5b94e77e61e27ecea097",
      "parents": [
        "88b79cb7d47e2e1fee1baf4016c50b861e6b21c4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 11 11:49:22 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 11 11:49:22 2022 +0100"
      },
      "message": "patch 9.0.0440: crash when using mkdir() with \"R\" flag in compiled function\n\nProblem:    Crash when using mkdir() with \"R\" flag in compiled function.\nSolution:   Reserve a variable for deferred function calls.  Handle more than\n            one argument.\n"
    },
    {
      "commit": "806a273f3c84ecd475913d901890bb1929be9a0a",
      "tree": "7970b531379736fd2497f3a1acea0c400028db81",
      "parents": [
        "c1eb131c9eb38e00e08109f50e3e5337c072b71e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 04 15:40:36 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 04 15:40:36 2022 +0100"
      },
      "message": "patch 9.0.0379: cleaning up after writefile() is a hassle\n\nProblem:    Cleaning up after writefile() is a hassle.\nSolution:   Add the \u0027D\u0027 flag to defer deleting the written file.  Very useful\n            in tests.\n"
    },
    {
      "commit": "1d84f7608f1e41dad03b8cc7925895437775f7c0",
      "tree": "cc276825566021a35b96f93e178e5f2ac621a84b",
      "parents": [
        "06d32a0c177e4166ff0491668cd459464bc2ef45"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 03 21:35:53 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 03 21:35:53 2022 +0100"
      },
      "message": "patch 9.0.0370: cleaning up afterwards can make a function messy\n\nProblem:    Cleaning up afterwards can make a function messy.\nSolution:   Add the :defer command.\n"
    },
    {
      "commit": "2984ed31d92f7da19b3dc86b37764c55669dd7c2",
      "tree": "7fb505dc9ce2e8076a4c9b4796f074b40cb5680a",
      "parents": [
        "62e0e2e54b34b618500be4521ab1c33e1c378b42"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 20 14:51:17 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 20 14:51:17 2022 +0100"
      },
      "message": "patch 9.0.0230: no error for comma missing in list in :def function\n\nProblem:    No error for comma missing in list in :def function.\nSolution:   Check for missing comma. (closes #10943)\n"
    },
    {
      "commit": "948a3894d98f5e2a6e7fc57189fe9c2a5919eebf",
      "tree": "12c30f33547c5474f5de4369907fb037b41428bb",
      "parents": [
        "e98c88c44c308edaea5994b8ad4363e65030968c"
      ],
      "author": {
        "name": "Kota Kato",
        "email": "github@kat0h.com",
        "time": "Tue Aug 16 16:09:59 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 16 16:09:59 2022 +0100"
      },
      "message": "patch 9.0.0219: cannot make a funcref with \"s:func\" in a def function\n\nProblem:    Cannot make a funcref with \"s:func\" in a def function in legacy\n            script.\nSolution:   Allow for using a lower case function name after \"s:\". (Kota Kato,\n            closes #10926)\n"
    },
    {
      "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"
    }
  ]
}
