)]}'
{
  "log": [
    {
      "commit": "3f45d67a150f934ab819c3739cf189a0e2c9545c",
      "tree": "6a221a2ff0bf1f90f48d7592b401a8217a95df5b",
      "parents": [
        "99ad3a8bb95c6f860545a050472b6181e33bac1a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 27 22:06:51 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 27 22:06:51 2023 +0000"
      },
      "message": "patch 9.0.1363: crash when :def function has :break in skipped block\n\nProblem:    Crash when :def function has :break in skipped block. (Ernie Rael)\nSolution:   Don\u0027t generate a jump for a skipped :break. (closes #12077)\n"
    },
    {
      "commit": "ce93d162da8de2419c15b63286e2f72a8fe3bf2d",
      "tree": "c71709142faa5d59491146cd89733016bc93217a",
      "parents": [
        "b8bebd0cd78679162228ee08265c9a5b3a409e1c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 30 21:12:34 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 30 21:12:34 2023 +0000"
      },
      "message": "patch 9.0.1266: error for space before \": type\" is inconsistent\n\nProblem:    Error for space before \": type\" is inconsistent.\nSolution:   Give E1059 in more places. (closes #11868)\n"
    },
    {
      "commit": "8dbab1d8ceb82a0fb693a1b7fcb57a2dfb4de068",
      "tree": "d4e6d32b34dcfbd00784c297ff1139079eb47f44",
      "parents": [
        "657aea7fc47fb919ce76fad64ba0ec55a1af80f1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 27 20:14:02 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 27 20:14:02 2023 +0000"
      },
      "message": "patch 9.0.1250: cannot use an object method with :defer\n\nProblem:    Cannot use an object method with :defer. (Ernie Rael)\nSolution:   Find the object method and generate code to call it.\n            (closes #11886)\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": "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": "9b99411b93f017609399e04527fdd3b6e83b5a55",
      "tree": "6201f2edbceb013fa5fe094fbc3aaa41c18052c2",
      "parents": [
        "590162cae0410b50572a3ab0e72a2e5873b99f1a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 25 15:59:25 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 25 15:59:25 2022 +0000"
      },
      "message": "patch 9.0.1094: compiler warning when HAS_MESSAGE_WINDOW is not defined\n\nProblem:    Compiler warning when HAS_MESSAGE_WINDOW is not defined.\nSolution:   Add UNUSED.\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": "500c4442834363e02541da564f0b87b82d5783cd",
      "tree": "1254545d4f0563ce85d0b9450c76ccc85e57a99b",
      "parents": [
        "c67c89c7589253215d57bad588edcf83a9403560"
      ],
      "author": {
        "name": "mityu",
        "email": "mityu.mail@gmail.com",
        "time": "Fri Dec 02 18:12:05 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 02 18:12:05 2022 +0000"
      },
      "message": "patch 9.0.0992: Vim9 script: get E1096 when comment follows return\n\nProblem:    Vim9 script: get E1096 when comment follows return.\nSolution:   Adjust condition for return without expression. (closes #11654)\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": "3558afe9e9e904cabb8475392d859f2d2fc21041",
      "tree": "3ec453686754ece5109f487f5cd9843a4632bf5b",
      "parents": [
        "d93009eb35c88bfc38781fefdf42ebdb02c61474"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 13 16:12:57 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 13 16:12:57 2022 +0100"
      },
      "message": "patch 9.0.0742: reading past end of the line when compiling a function\n\nProblem:    Reading past end of the line when compiling a function with\n            errors.\nSolution:   Do not return an invalid pointer.  Fix skipping redirection.\n"
    },
    {
      "commit": "159b2d5bfc4edc013024e8c996141d37542ebc15",
      "tree": "80b8aa817564b1cc1c45cd418b247f09d99933c5",
      "parents": [
        "7e017461e21ac534f8a0d59c1165d11358c69d87"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 11 21:41:25 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 11 21:41:25 2022 +0100"
      },
      "message": "patch 9.0.0726: looping over list of lists works in script, not in function\n\nProblem:    Looping over list of lists and changing the list contents works in\n            Vim9 script, not in a compiled function.\nSolution:   Mark the loop variable final instead of const. (closes #11347)\n"
    },
    {
      "commit": "a275f2cdcc4353e7653a69c7c818422db5da599d",
      "tree": "5c14a63a542f0880495c5e77cf243daadb3b03a7",
      "parents": [
        "a9a364872e41932990aba1787af65f67c7e14917"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 11 20:04:09 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 11 20:04:09 2022 +0100"
      },
      "message": "patch 9.0.0724: closure in compiled function gets same variable in block\n\nProblem:    Closure in compiled function gets same variable in block.\nSolution:   At the end of a block to not always reset the variable count.\n            (issue #11094)\n"
    },
    {
      "commit": "bdc09a18fca32715687d9911a431da69186528cc",
      "tree": "9d27853365bffdc04e51cfe7fc6cb75dafc8a0b0",
      "parents": [
        "cf3d0eaf47a56a52b355d8faf4e59685396f9c05"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 07 14:31:45 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 07 14:31:45 2022 +0100"
      },
      "message": "patch 9.0.0683: cannot specify a time for :echowindow\n\nProblem:    Cannot specify a time for :echowindow.\nSolution:   A count can be used to specify the display time. Add\n            popup_findecho().\n"
    },
    {
      "commit": "6586a015144f15a979d573a79d91e700e4b3009f",
      "tree": "e276ff392ab6f428c169b2fb0b8646643109bd44",
      "parents": [
        "b152b6a40f729ed81a25d2fa541a4e73e201bec4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 30 11:04:50 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 30 11:04:50 2022 +0100"
      },
      "message": "patch 9.0.0627: \"const\" and \"final\" both make the type a constant\n\nProblem:    \"const\" and \"final\" both make the type a constant. (Daniel\n            Steinberg)\nSolution:   Only have \"const\" make the type a constant.\n"
    },
    {
      "commit": "cc34181f9994d64f8c8fa2f5845eaf0cc963067f",
      "tree": "2909cd6f0d4d5f7e20b7daa76855c25fdef5dcb9",
      "parents": [
        "18ee0feb5dfbe51993dc715d24cf419ac92ebf92"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 19 15:54:34 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 19 15:54:34 2022 +0100"
      },
      "message": "patch 9.0.0502: a closure in a nested loop in a :def function does not work\n\nProblem:    A closure in a nested loop in a :def function does not work.\nSolution:   Use an array of loopvars, one per loop level.\n"
    },
    {
      "commit": "8abb584ab85d5855d810d1c6e2b260f45ec839b7",
      "tree": "7ee9ae19f48b55f0799c7775fef4b4bd58f4e541",
      "parents": [
        "c249913edc35c0e666d783bfc21595cf9f7d9e0d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 17 12:39:58 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 17 12:39:58 2022 +0100"
      },
      "message": "patch 9.0.0484: 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:   Add ENDLOOP at break, continue and return if needed.\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": "b46c083a5ed9e0c4ac5f3aec577946dcbe8c9dc5",
      "tree": "f91c0168ac87183c5df558840b9cf920d18df558",
      "parents": [
        "3735f11050616652525bf80b4fbcb2b3bfeab113"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 15 17:19:37 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 15 17:19:37 2022 +0100"
      },
      "message": "patch 9.0.0470: 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:   When in a loop and a closure refers to a variable declared in the\n            loop, prepare for making a copy of variables for each closure.\n"
    },
    {
      "commit": "c572ad508f53bd89aa29081fc583f17ef1f0f123",
      "tree": "8c11a4d1f06f1ff3dadb662437c8d996d4cece13",
      "parents": [
        "169003289fb4b2ad18fd7f5807e0d05efff0be85"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 08 20:49:22 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 08 20:49:22 2022 +0100"
      },
      "message": "patch 9.0.0420: function went missing\n\nProblem:    Function went missing.\nSolution:   Add the function back.\n"
    },
    {
      "commit": "169003289fb4b2ad18fd7f5807e0d05efff0be85",
      "tree": "50602045f6b4e7ed30d2498bef163412839c8776",
      "parents": [
        "45bbaef0382c5468d9fac511775bd99ea7bf5b84"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 08 19:51:45 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 08 19:51:45 2022 +0100"
      },
      "message": "patch 9.0.0419: the :defer command does not check the function arguments\n\nProblem:    The :defer command does not check the function argument count and\n            types.\nSolution:   Check the function arguments when adding a deferred function.\n"
    },
    {
      "commit": "8f7116caddc6f0725cf1211407d97645c4eb7b65",
      "tree": "51e066faffc439862f43a1aed186a9b7a3f27a47",
      "parents": [
        "fed6bdae6f5f15d842d2e33eda6d3ffbc5b258a7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 04 18:22:16 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 04 18:22:16 2022 +0100"
      },
      "message": "Revert part of patch merged twice\n"
    },
    {
      "commit": "fed6bdae6f5f15d842d2e33eda6d3ffbc5b258a7",
      "tree": "d79917f336263b31490534a4ffde02cdf52732e3",
      "parents": [
        "0daafaa7d99ef500f76b1b12f5fe8153e2fcaea0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 04 18:10:11 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 04 18:10:11 2022 +0100"
      },
      "message": "patch 9.0.0380: deleting files in tests is a hassle\n\nProblem:    Deleting files in tests is a hassle.\nSolution:   Use the new \u0027D\u0027 flag of writefile().\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": "7d7ad7b2e8c6403033fbdb083f092321c0ccbfaf",
      "tree": "4dc8f66a97862870b7d09ac390e75f0912b046e1",
      "parents": [
        "be807d582499acbe314ead3891481cba6ca136df"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 01 16:00:53 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 01 16:00:53 2022 +0100"
      },
      "message": "patch 9.0.0350: :echowindow does not work in a compiled function\n\nProblem:    :echowindow does not work in a compiled function.\nSolution:   Handle the expression at compile time.\n"
    },
    {
      "commit": "dbdd16b62560413abcc3c8e893cc3010ccf31666",
      "tree": "25233801194a5fefcf40f3cda2530b3d94286ed9",
      "parents": [
        "d1d8f6bacb489036d0fd479c9dd3c0102c988889"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 21:46:07 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 21:46:07 2022 +0100"
      },
      "message": "patch 9.0.0212: invalid memory access when compiling :unlet\n\nProblem:    Invalid memory access when compiling :unlet.\nSolution:   Don\u0027t read past the end of the line.\n"
    },
    {
      "commit": "d1d8f6bacb489036d0fd479c9dd3c0102c988889",
      "tree": "4edf759dfb4d79facb2e07869bf2006792ee3b9f",
      "parents": [
        "c3a483fc3c65f649f9985bb88792a465ea18b0a2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 21:28:32 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 21:28:32 2022 +0100"
      },
      "message": "patch 9.0.0211: invalid memory access when compiling :lockvar\n\nProblem:    Invalid memory access when compiling :lockvar.\nSolution:   Don\u0027t read past the end of the line.\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": "97f8c1081ec6d6d158bb51e18fa23a36d3ed5623",
      "tree": "bff2837d32937a9edf15ed39b770e8b5c34c92de",
      "parents": [
        "eabddc425ea23fb91b3b0058ff01e9e4ede53351"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 02 19:43:57 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 02 19:43:57 2022 +0100"
      },
      "message": "patch 8.2.4666: Vim9: assignment not recognized in skipped block\n\nProblem:    Vim9: assignment not recognized in skipped block.\nSolution:   When skipping assume identifier exists. (closes #10059)\n"
    },
    {
      "commit": "ac48506ac62b2ece523d5af6ea6c95b699d70b94",
      "tree": "15f7b8ac648f36039c06b1ac67f1067ce988f0eb",
      "parents": [
        "c20e46a4e3efcd408ef132872238144ea34f7ae5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 23 19:45:01 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 23 19:45:01 2022 +0000"
      },
      "message": "patch 8.2.4615: mapping with escaped bar does not work in :def function\n\nProblem:    Mapping with escaped bar does not work in :def function. (Sergey\n            Vlasov)\nSolution:   Do not remove the backslash. (closes #10002)\n"
    },
    {
      "commit": "fe154990c1c57fac6d5a4b1bfb682e27adb4eb8c",
      "tree": "f2bbad2d3535a267d934e85eeadf1d652936d5eb",
      "parents": [
        "6f2465d336a9d4afe392db4084ef7e9db17e67c1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 22 20:42:12 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 22 20:42:12 2022 +0000"
      },
      "message": "patch 8.2.4610: some conditions are always true\n\nProblem:    Some conditions are always true.\nSolution:   Remove the useless conditions. (closes #9993)\n"
    },
    {
      "commit": "1a572e9b3b497e0412b4001cd9c6859db0c35412",
      "tree": "876a147e3ef18869fd728a1d2d6d3e8dbc56b604",
      "parents": [
        "8d5e514d77bd4b1956656ad2be2ce7094bd43a72"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 15 12:28:10 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 15 12:28:10 2022 +0000"
      },
      "message": "patch 8.2.4572: Vim9: return type \"any\" is changed to first returned type\n\nProblem:    Vim9: return type \"any\" is sometimes changed to first returned\n            type.  (Virginia Senioria)\nSolution:   Do not change the return type if declared as \"any\". (closes #9949)\n"
    },
    {
      "commit": "d0b7bfa95798f5ec743d8afffbffb83aeac823da",
      "tree": "61f205c552d192530301813912bc400ed8f28fb6",
      "parents": [
        "bbf84e2737daf3479e059dc7e7da0c50a07a4bf4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 14:51:16 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 12 14:51:16 2022 +0000"
      },
      "message": "patch 8.2.4552: in a :def function \"put \u003d expr\" does not work\n\nProblem:    In a :def function \"put \u003d expr\" does not work.\nSolution:   Skip over white space. (closes #9936)\n"
    },
    {
      "commit": "873f8243f6feadec72d9bf6203e550cc1b66611a",
      "tree": "c6610edac88cf0c6d68295a542ddba9605b62a89",
      "parents": [
        "e406ff87c86de9da2d02d0e5ebbbf5c5eac051a6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 10 21:53:44 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 10 21:53:44 2022 +0000"
      },
      "message": "patch 8.2.4542: Vim9: \"break\" inside try/catch not handled correctly\n\nProblem:    Vim9: \"break\" inside try/catch not handled correctly.\nSolution:   First jump to :endtry. (closes #9927)\n"
    },
    {
      "commit": "62628d97c4690462ca54781fd16bbfc7ad31477b",
      "tree": "2fe48e3bfcae8076e97d7b7408fb1d871ac91166",
      "parents": [
        "ae49aa8434f325f476245ccf5ef119f49c609877"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 25 21:10:53 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 25 21:10:53 2022 +0000"
      },
      "message": "patch 8.2.4471: Coverity warns for uninitialized variable\n\nProblem:    Coverity warns for uninitialized variable.\nSolution:   Set flags to zero.\n"
    },
    {
      "commit": "54969f4ef5825205ecde09ea80f4087fc3b68e5d",
      "tree": "a33efdb636d52d421266829a530a15e8f3cedb16",
      "parents": [
        "63ff72aab91679725077eab5c5405267792268bd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 07 13:56:44 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 07 13:56:44 2022 +0000"
      },
      "message": "patch 8.2.4318: various comment and indent mistakes, returning wrong zero\n\nProblem:    Various comment and indent mistakes, returning wrong zero.\nSolution:   Fix the mistakes.  Return NULL instead of FAIL.\n"
    },
    {
      "commit": "a1c519518050383e7d319514a3ff6c42a9154c48",
      "tree": "b2263814d4ed499842a1a1f381a7d1930720e26b",
      "parents": [
        "ab8f7c50cf7d5c0c72dfa5067e5b1f57585db4d8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 02 16:20:26 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 02 16:20:26 2022 +0000"
      },
      "message": "patch 8.2.4285: Vim9: type of item in for loop not checked properly\n\nProblem:    Vim9: type of item in for loop not checked properly.\nSolution:   Adjust the type checking. (closes #9683)\n"
    },
    {
      "commit": "e939f5ebbae8dd7825d62d84e0c9910fa1756a9c",
      "tree": "1539cff07da8b588993840da4d455ddf9135e1a1",
      "parents": [
        "fc4c44836acf7cd83af6d9b5b4737a305c5b3fb2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 26 21:32:59 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 26 21:32:59 2022 +0000"
      },
      "message": "patch 8.2.4227: Vim9: using \"lockvar!\" in :def function does not work\n\nProblem:    Vim9: using \"lockvar!\" in :def function does not work.\nSolution:   Add \"!\" instead of \"-1\". (closes #9634)\n"
    },
    {
      "commit": "70c43d84be98ab54d3723155dcc4232dc5a5f081",
      "tree": "31f3a580fe1bbfecc50e822e718696836d9cb95c",
      "parents": [
        "1080c48ec8d672d7e9fbefb5a1255c9df09a2884"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 26 21:01:15 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 26 21:01:15 2022 +0000"
      },
      "message": "patch 8.2.4225: Vim9: depth argument of :lockvar not parsed in :def function\n\nProblem:    Vim9: depth argument of :lockvar not parsed in :def function.\nSolution:   Parse the optional depth argument. (closes #9629)\n            Fix that locking doesn\u0027t work for a non-materialize list.\n"
    },
    {
      "commit": "0bfa84916d110d4f4d863e91e144ff05ba431316",
      "tree": "ccb6be1680b29acd15c50d9e371e2d3b8c52875c",
      "parents": [
        "b697dc295d0625bf2445649f03019f9b8fccc1a8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 22 12:27:04 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 22 12:27:04 2022 +0000"
      },
      "message": "patch 8.2.4178: Vim9: invalid error for return type of lambda when debugging\n\nProblem:    Vim9: invalid error for return type of lambda when debugging.\nSolution:   Do not check the return type of a lambda. (closes #9589)\n"
    },
    {
      "commit": "ef7aadbe36ad43a1b909f5f6c7e9b170ad62ef91",
      "tree": "a97150cc386a6fe634d987166c11d7bbf3c64576",
      "parents": [
        "d02dce2bb572f0e6b4570442e9cdbed14ef41820"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 18 18:46:07 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 18 18:46:07 2022 +0000"
      },
      "message": "patch 8.2.4138: Vim9: no error for return with argument when invalid\n\nProblem:    Vim9: no error for return with argument when the function does not\n            return anything.\nSolution:   Give an error for the invalid argument. (issue #9497)\n"
    },
    {
      "commit": "53c296112edd8471eb63afbca03f96bad164c813",
      "tree": "78fca00247cb7492594d53fc797971e75af18843",
      "parents": [
        "f5d639a8af719eb8ecb141b5c0890627e4d83134"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 12 16:18:18 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 12 16:18:18 2022 +0000"
      },
      "message": "patch 8.2.4071: Vim9: no detection of return in try/endtry\n\nProblem:    Vim9: no detection of return in try/endtry. (Dominique Pellé)\nSolution:   Check if any of the blocks inside try/endtry did not end in\n            return.\n"
    },
    {
      "commit": "2ef01d929d094c9063a259a74e23cf61be74b9b6",
      "tree": "35393d64ad070853af607c2aa383ee321162af86",
      "parents": [
        "84c62d59a3604d15c447f28e89679944a4926cc3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 06 21:38:11 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 06 21:38:11 2022 +0000"
      },
      "message": "patch 8.2.4021: missing part of the :import changes\n\nProblem:    Missing part of the :import changes.\nSolution:   Add changes in vim9cmds.c.\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": "2b4ecc2c31c00df6e1c8ad46a3e4eabb1f1f84e3",
      "tree": "44ed777fd6e6573bb26f7d821cf1ac1133470fb8",
      "parents": [
        "b3bd1d39e68e2d697c014b9f85482c2c12a3f909"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 02 14:08:18 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 02 14:08:18 2022 +0000"
      },
      "message": "patch 8.2.3981: Vim9: debugging a for loop doesn\u0027t stop before it starts\n\nProblem:    Vim9: debugging a for loop doesn\u0027t stop before it starts.\nSolution:   Keep the DEBUG instruction before the expression is evaluated.\n            (closes #9456)\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": "436b5adc9770a2568209dd5ab1f98bd1afc91898",
      "tree": "623dc85ee9a396b16f939f44d38138f882edc229",
      "parents": [
        "f1474d801bbdb73406dd3d1f931f515f99e86dfa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 22:49:24 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 22:49:24 2021 +0000"
      },
      "message": "patch 8.2.3961: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "1a9922243a90f213894d5c58cd063465eea3350f",
      "tree": "b9fb1efe82d000b215d8b99750372e4f2ec7ba92",
      "parents": [
        "4b1478093eb8b8bebc94b1f596e0afc25db4d189"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 17:25:48 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 17:25:48 2021 +0000"
      },
      "message": "patch 8.2.3957: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "af4a61a85d6e8cacc35324f266934bc463a21673",
      "tree": "3b2e75b8a36bc8e79d2bc407d929a84b69fd0e0c",
      "parents": [
        "5da36052a4bb0f3a9747ec3a8ab9d85e058e39fa"
      ],
      "author": {
        "name": "Dominique Pelle",
        "email": "dominique.pelle@gmail.com",
        "time": "Mon Dec 27 17:21:41 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 27 17:21:41 2021 +0000"
      },
      "message": "patch 8.2.3914: various spelling mistakes in comments\n\nProblem:    Various spelling mistakes in comments.\nSolution:   Fix the mistakes. (Dominique Pellé, closes #9416)\n"
    },
    {
      "commit": "5cd647935d0834b3064aa36384b8f6730fadadd6",
      "tree": "d0b40261ac7160d723f5bca46cf57d43641e9aed",
      "parents": [
        "35cfd793aad7c4bfba4a9bedf5c435c44e4293d0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 25 18:23:24 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 25 18:23:24 2021 +0000"
      },
      "message": "patch 8.2.3893: Vim9: many local variables are initialized with an instruction\n\nProblem:    Vim9: many local variables are initialized with an instruction.\nSolution:   Initialize local variables to zero to avoid the instructions.\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": "0d807107b66e0d30d4f338c272962af5714c400e",
      "tree": "08f92991f2306d674e5bf4f9993ee666fda2b71d",
      "parents": [
        "6f79e614b25caebd35cf0d82b6f3b7e0733849ec"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 21 09:42:09 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 21 09:42:09 2021 +0000"
      },
      "message": "patch 8.2.3865: Vim9: compiler complains about using \"try\" as a struct member\n\nProblem:    Vim9: compiler complains about using \"try\" as a struct member.\nSolution:   Rename \"try\" to \"tryref\".\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"
    }
  ]
}
