)]}'
{
  "log": [
    {
      "commit": "7e5fe38efc105721400048a2ffdeddbe1b9c0650",
      "tree": "670353de5a42ddc725f9c109f80b05680a03d0e8",
      "parents": [
        "b49dfd0cf296623af2d756cefc3e73b5b307734e"
      ],
      "author": {
        "name": "ichizok",
        "email": "gclient.gaap@gmail.com",
        "time": "Sat Apr 15 13:17:50 2023 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 15 13:17:50 2023 +0100"
      },
      "message": "patch 9.0.1454: code indenting is confused by macros\n\nProblem:    Code indenting is confused by macros.\nSolution:   Put semicolon after the macros instead of inside. (Ozaki Kiichi,\n            closes #12257)\n"
    },
    {
      "commit": "bfc7cbd1d44e53e844a079d8ad16ae990dad664d",
      "tree": "48b6f03687d9f05e58fd1378dac657c506e79ffc",
      "parents": [
        "b6ebe5af74a965d703eb8ee66a07c97b0bbe6e58"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Fri Apr 07 22:09:46 2023 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 07 22:09:46 2023 +0100"
      },
      "message": "patch 9.0.1442: mapset() does not restore non-script context\n\nProblem:    mapset() does not restore non-script context.\nSolution:   Also accept negative sid. (closes #12132)\n"
    },
    {
      "commit": "5da901bb68717b2baff6e971c1517219b6ee3a67",
      "tree": "b19c5bcb38e3c5f523f37b787e8375d5402fc78f",
      "parents": [
        "30a844771554d28f1a88a256e6088dbb252228c1"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Feb 27 12:47:47 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 27 12:47:47 2023 +0000"
      },
      "message": "patch 9.0.1359: too many \"else if\" statements in handling options\n\nProblem:    Too many \"else if\" statements in handling options.\nSolution:   Add more functions for handling option changes. (Yegappan\n            Lakshmanan, closes #12060)\n"
    },
    {
      "commit": "af93691b53f38784efce0b93fe7644c44a7e382e",
      "tree": "74e8f31e222aed907e80c4dc5b0bded5f7400537",
      "parents": [
        "997b8a015cd39141866e953651d55c705275cbd6"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Feb 20 12:16:39 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 20 12:16:39 2023 +0000"
      },
      "message": "patch 9.0.1330: handling new value of an option has a long \"else if\" chain\n\nProblem:    Handling new value of an option has a long \"else if\" chain.\nSolution:   Use a function pointer. (Yegappan Lakshmanan, closes #12015)\n"
    },
    {
      "commit": "997b8a015cd39141866e953651d55c705275cbd6",
      "tree": "650d8de79484cd17178e80b84484ac9e2d437dce",
      "parents": [
        "5b9f57262fdadf460e6355abf1eee95b4f96abe8"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sun Feb 19 21:00:31 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 19 21:00:31 2023 +0000"
      },
      "message": "patch 9.0.1329: completion of map includes simplified ones\n\nProblem:    Completion of map includes simplified ones.\nSolution:   Do not complete simplified mappings. (closes #12013)\n"
    },
    {
      "commit": "fadc02a2a57755fa1342b1b44c2ceab3046125fc",
      "tree": "8e013a61d40bcca51deff9aa21cda2c51b96f41f",
      "parents": [
        "8dbab1d8ceb82a0fb693a1b7fcb57a2dfb4de068"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Jan 27 21:03:12 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 27 21:03:12 2023 +0000"
      },
      "message": "patch 9.0.1251: checking returned value of ga_grow() is inconsistent\n\nProblem:    Checking returned value of ga_grow() is inconsistent.\nSolution:   Check for FAIL instaed of \"not OK\". (Yegappan Lakshmanan,\n            closes #11897)\n"
    },
    {
      "commit": "e8575988969579f9e1439181ae338b2ff74054a8",
      "tree": "f4c8a1242cb67b073bb0e375740c764c2136af21",
      "parents": [
        "378e6c03f98efc88e8c2675e05a548f9bb7889a1"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Jan 14 12:32:28 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 14 12:32:28 2023 +0000"
      },
      "message": "patch 9.0.1196: code is indented more than necessary\n\nProblem:    Code is indented more than necessary.\nSolution:   Use an early return where it makes sense. (Yegappan Lakshmanan,\n            closes #11813)\n"
    },
    {
      "commit": "9d1184cd1d4ebbfb13859adffec09077a84fd2b2",
      "tree": "63c05b85a2a65b1ceca9f1f66127c28b239d4bb5",
      "parents": [
        "9aee8ec400fe617f6d82441c46a22d0cef6fa3e6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 16 18:33:20 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 16 18:33:20 2022 +0000"
      },
      "message": "patch 9.0.1065: a shell command switching screens may still have a problem\n\nProblem:    A shell command switching screens may still have a problem with\n            the kitty keyboard protocol.\nSolution:   Disable the kitty keyboard protocol both in the current and the\n            alternate screen, if there are indications it might be needed.\n            (issue #11705)  Also fix naming.\n"
    },
    {
      "commit": "c255b789653120979eacdf8bb8eca02487753a8e",
      "tree": "50a07d7bcbac6a0331c47ed4da72f137cdb5b2e5",
      "parents": [
        "837ca8f43b9d6b8574a2bfdae219b17c84411730"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 26 19:16:48 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 26 19:16:48 2022 +0000"
      },
      "message": "patch 9.0.0954: cannot detect whether modifyOtherKeys is enabled\n\nProblem:    Cannot detect whether modifyOtherKeys is enabled.\nSolution:   Use XTQMODKEYS introduced by xterm version 377 to request the\n            modifyOtherKeys level.  Update the keycode check results.\n"
    },
    {
      "commit": "63a2e360cca2c70ab0a85d14771d3259d4b3aafa",
      "tree": "9f0d9131e530cf658c2b7bf05e16539a1ebb0a28",
      "parents": [
        "0b6d6a186e961faa5b9058406234ffd93a7e6688"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 23 20:20:18 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 23 20:20:18 2022 +0000"
      },
      "message": "patch 9.0.0930: cannot debug the Kitty keyboard protocol with TermDebug\n\nProblem:    Cannot debug the Kitty keyboard protocol with TermDebug.\nSolution:   Add Kitty keyboard protocol support to the libvterm fork.\n            Recognize the escape sequences that the protocol generates.  Add\n            the \u0027keyprotocol\u0027 option to allow the user to specify for which\n            terminal what protocol is to be used, instead of hard-coding this.\n            Add recognizing the kitty keyboard protocol status.\n"
    },
    {
      "commit": "bf533e4e88ebac8b8fec6d3e12dadc476ce9a1df",
      "tree": "03a121b3a961d2e80710606819a8c6ca7000d648",
      "parents": [
        "623e94e13810e109c6aa201bcf3a8278429502f3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 13 20:43:19 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 13 20:43:19 2022 +0000"
      },
      "message": "patch 9.0.0873: using freed memory when executing mapclear at more prompt\n\nProblem:    Using freed memory when executing mapclear at the more prompt.\nSolution:   Do not clear mappings while listing them. (closes #11438)\n"
    },
    {
      "commit": "9f62ea01a08e69f44050f59469a0e64beddefac0",
      "tree": "845ef80a2628569084cf289aa1ed569b16ecaeee",
      "parents": [
        "605d02a9b73cb49ac5022a127db3eac7e16a5d83"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 19 13:07:03 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 19 13:07:03 2022 +0100"
      },
      "message": "patch 9.0.0794: there is no way to find out if modifyOtherKeys has been seen\n\nProblem:    There is no way to find out if an escape sequence with\n            modifyOtherKeys has been seen.\nSolution:   Add a notice with \":verbose map\".\n"
    },
    {
      "commit": "2cd0f27b75c4497bec872819a965b3d6b4d55030",
      "tree": "4949cd7728a75470f146acd7778160b86da6059f",
      "parents": [
        "caf05f504e062642c35a919b04f1b5638f994602"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Tue Oct 04 20:14:28 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 04 20:14:28 2022 +0100"
      },
      "message": "patch 9.0.0660: mapping with CTRL keys does not work in the GUI\n\nProblem:    Mapping with CTRL keys does not work in the GUI.\nSolution:   Recognize CSI next to K_SPECIAL. (closes #11275, closes #11270)\n"
    },
    {
      "commit": "7904fa420eb577274c4c3711295240100167d495",
      "tree": "a38ab30cb4c947c2ebba45cd7ed711ffd2e719a7",
      "parents": [
        "4ba5f1dab656103e8f4a4505452d1816b9e83c1e"
      ],
      "author": {
        "name": "Martin Tournoij",
        "email": "martin@arp242.net",
        "time": "Tue Oct 04 16:28:45 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 04 16:28:45 2022 +0100"
      },
      "message": "patch 9.0.0657: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate the +cmdwin feature.  Now the tiny and small builds are\n            equal, drop the small build.  (Martin Tournoij, closes #11268)\n"
    },
    {
      "commit": "a4e0b9785e409e9e660171cea76dfcc5fdafad9b",
      "tree": "3323913d9bdc9cd09029b1314a77c4a5e8191bbf",
      "parents": [
        "b850c39676db21c6f1aa3afed0e2e48d407dd60e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 01 19:43:52 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 01 19:43:52 2022 +0100"
      },
      "message": "patch 9.0.0634: evaluating \"expr\" options has more overhead than needed\n\nProblem:    Evaluating \"expr\" options has more overhead than needed.\nSolution:   Use call_simple_func() for \u0027foldtext\u0027, \u0027includeexpr\u0027, \u0027printexpr\u0027,\n            \"expr\" of \u0027spellsuggest\u0027, \u0027diffexpr\u0027, \u0027patchexpr\u0027, \u0027balloonexpr\u0027,\n            \u0027formatexpr\u0027, \u0027indentexpr\u0027 and \u0027charconvert\u0027.\n"
    },
    {
      "commit": "cdc839353f68ca43db6446e1b727fc7ba657b738",
      "tree": "0729860faa774e594b183ce0823ae23776b92701",
      "parents": [
        "5a4eb55122e45444d3a6c56ce108ce29bc8e52ab"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Mon Sep 12 13:38:41 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 12 13:38:41 2022 +0100"
      },
      "message": "patch 9.0.0449: there is no easy way to translate a key code into a string\n\nProblem:    There is no easy way to translate a string with a key code into a\n            readable string.\nSolution:   Add the keytrans() function. (closes #11114)\n"
    },
    {
      "commit": "92a3d20682d46359bb50a452b4f831659e799155",
      "tree": "eb8d9cc28b75816f7b47b5ae511514f3aaf66502",
      "parents": [
        "a2a8973e51a0052bb52e43a2b22e7ecdecc32003"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Aug 31 16:40:17 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 31 16:40:17 2022 +0100"
      },
      "message": "patch 9.0.0341: mapset() does not restore \u003cNop\u003e mapping properly\n\nProblem:    mapset() does not restore \u003cNop\u003e mapping properly.\nSolution:   Use an empty string for \u003cNop\u003e. (closes #11022)\n"
    },
    {
      "commit": "04c4c5746e15884768d2cb41370c3276a196cd4c",
      "tree": "1e629820796635bd332b2066c03d548fad527f89",
      "parents": [
        "f240395fca63d4b330112a4b81e94b05b50de1aa"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Aug 30 19:48:24 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 30 19:48:24 2022 +0100"
      },
      "message": "patch 9.0.0335: checks for Dictionary argument often give a vague error\n\nProblem:    Checks for Dictionary argument often give a vague error message.\nSolution:   Give a useful error message. (Yegappan Lakshmanan, closes #11009)\n"
    },
    {
      "commit": "e95f22f63a1871b91e5508088e5ae4905ce28cd7",
      "tree": "d433dee6895c917045e512688a018c9a0241f5b5",
      "parents": [
        "95fca12b0e8a351ce4416417323db24c63eb940a"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Mon Aug 01 11:49:45 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 11:49:45 2022 +0100"
      },
      "message": "patch 9.0.0127: unused variable\n\nProblem:    Unused variable.\nSolution:   Remove the variable. (closes #10829)\n"
    },
    {
      "commit": "d61efa50f8f5b9d9dcbc136705cc33874f0fdcb3",
      "tree": "7ca7416ffda546d9f45ba93d3c93f3418bd6bcd0",
      "parents": [
        "5ac50de83f1b4136f903c51a1d4e7d84a26c2271"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 23 09:52:04 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 23 09:52:04 2022 +0100"
      },
      "message": "patch 9.0.0063: too many type casts for dict_get functions\n\nProblem:    Too many type casts for dict_get functions.\nSolution:   Change the key argument from \"char_u *\" to \"char *\".\n"
    },
    {
      "commit": "c207fd2535717030d78f9b92839e5f2ac004cc78",
      "tree": "d0f5a98dd1ffa989fd14e9bce0b0420b346eecb7",
      "parents": [
        "75417d960bd17a5b701cfb625b8864dacaf0cc39"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Jun 29 10:37:40 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 29 10:37:40 2022 +0100"
      },
      "message": "patch 9.0.0002: map functionality outside of map.c\n\nProblem:    Map functionality outside of map.c.\nSolution:   Move f_hasmapto() to map.c.  Rename a function. (closes #10611)\n"
    },
    {
      "commit": "09f68a5e7817cbb40854ee6b8ae3db21d5365346",
      "tree": "a59c32d01569efa54ef7ab411b2af92cc3b5823f",
      "parents": [
        "620aa8eb5b1468d086253f8aa787a33a86033100"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Sat Jun 18 16:48:36 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 18 16:48:36 2022 +0100"
      },
      "message": "patch 8.2.5125: MS-Windows: warnings from MinGW compiler\n\nProblem:    MS-Windows: warnings from MinGW compyler.\nSolution:   Use \"volatile\". (Yasuhiro Matsumoto, closes #10589)  Initialize\n            variable.\n"
    },
    {
      "commit": "93a1096fe48e12095544924adb267e3b8a16b221",
      "tree": "a6d426e87bc49d8fcee200052d17c83302f32629",
      "parents": [
        "44068e97dbd8fc8ebd93113e436a1e37a6bff52c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 16 11:42:09 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 16 11:42:09 2022 +0100"
      },
      "message": "patch 8.2.5107: some callers of rettv_list_alloc() check for not OK\n\nProblem:    Some callers of rettv_list_alloc() check for not OK. (Christ van\n            Willegen)\nSolution:   Use \"\u003d\u003d\" instead of \"!\u003d\" when checking the return value.\n"
    },
    {
      "commit": "44068e97dbd8fc8ebd93113e436a1e37a6bff52c",
      "tree": "716b248e729eaa9ce8a2795192d3863ca2e5c462",
      "parents": [
        "83497f875881973df772cc4cc593766345df6c4a"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Thu Jun 16 11:14:55 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 16 11:14:55 2022 +0100"
      },
      "message": "patch 8.2.5106: default cmdwin mappings are re-mappable\n\nProblem:    Default cmdwin mappings are re-mappable.\nSolution:   Make the default mappings not re-mappable. (closes #10580)  Use\n            symbols for the first do_map() argument.\n"
    },
    {
      "commit": "cfe456543e840d133399551f8626d985e1fb1958",
      "tree": "88e1820132eef74ed7abab2334d51019cb6f47d2",
      "parents": [
        "02e8d4e4ffcdd6ee919e19692d591da8e18a565d"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Fri May 27 17:26:55 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 27 17:26:55 2022 +0100"
      },
      "message": "patch 8.2.5029: \"textlock\" is always zero\n\nProblem:    \"textlock\" is always zero.\nSolution:   Remove \"textlock\" and rename \"textwinlock\" to \"textlock\".\n            (closes #10489)\n"
    },
    {
      "commit": "d8f5f766219273a8579947cc80b92580b6988a4b",
      "tree": "5325cef40d2b8f102fb71625056681e0d88e8515",
      "parents": [
        "0f267621c04883de010a6379217a5f182cc03dda"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Tue May 10 17:50:39 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 10 17:50:39 2022 +0100"
      },
      "message": "patch 8.2.4932: not easy to filter the output of maplist()\n\nProblem:    Not easy to filter the output of maplist().\nSolution:   Add mode_bits to the dictionary. (Ernie Rael, closes #10356)\n"
    },
    {
      "commit": "249591057b4840785c50e41dd850efb8a8faf435",
      "tree": "e9ba171529cf753e7aab0ec9adf5be3fedc17d00",
      "parents": [
        "9ff7d717aa3176de5c61de340deb93f41c7780fc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 07 20:01:16 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 07 20:01:16 2022 +0100"
      },
      "message": "patch 8.2.4911: the mode #defines are not clearly named\n\nProblem:    The mode #defines are not clearly named.\nSolution:   Prepend MODE_.  Renumber them to put the mapped modes first.\n"
    },
    {
      "commit": "ac402f4d64bec6b6efd809fef52f5b34627bf947",
      "tree": "8cf3a9097adc75b03a37e67d74162b7b1706a9ac",
      "parents": [
        "47d4e317f85e4aeb3799d962f173bd0f1e7bc71c"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed May 04 18:51:43 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 04 18:51:43 2022 +0100"
      },
      "message": "patch 8.2.4867: listing of mapping with K_SPECIAL is wrong\n\nProblem:    Listing of mapping with K_SPECIAL is wrong.\nSolution:   Adjust escaping of special characters. (closes #10351)\n"
    },
    {
      "commit": "51d04d16f21e19d6eded98f9530d84089102f925",
      "tree": "20bb53da9296e31af0101070f69c689724c04f61",
      "parents": [
        "05cf63e9bdca1ac070df3e7d9c6dfc45e68ac916"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Wed May 04 15:40:22 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 04 15:40:22 2022 +0100"
      },
      "message": "patch 8.2.4861: it is not easy to restore saved mappings\n\nProblem:    It is not easy to restore saved mappings.\nSolution:   Make mapset() accept a dict argument. (Ernie Rael, closes #10295)\n"
    },
    {
      "commit": "2c8a7ebdad9da017bfb6dc8a0f46acea77ec2e17",
      "tree": "f993d9b62e1c3d2cb91fe86267abe5a672bb41d5",
      "parents": [
        "23f106efeb64eadd95adee34144f64526aa5f61f"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Tue Apr 26 21:36:21 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 26 21:36:21 2022 +0100"
      },
      "message": "patch 8.2.4831: crash when using maparg() and unmapping simplified keys\n\nProblem:    Crash when using maparg() and unmapping simplified keys.\nSolution:   Do not keep a mapblock pointer. (closes #10294)\n"
    },
    {
      "commit": "abeb09b2c53054513812d1e56716e2a5abe8f354",
      "tree": "f39b515cb9e164b9f03b935f524e191f5822c97a",
      "parents": [
        "87f74106f96737e7b8ceaafe1a131aa718077de6"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Tue Apr 26 12:29:43 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 26 12:29:43 2022 +0100"
      },
      "message": "patch 8.2.4828: fix for unmapping simplified key not fully tested\n\nProblem:    Fix for unmapping simplified key not fully tested.\nSolution:   Add a test case. (closes #10292)\n"
    },
    {
      "commit": "87f74106f96737e7b8ceaafe1a131aa718077de6",
      "tree": "662910141521e064fbf889b7cc14ccd9d3f1b10d",
      "parents": [
        "1f435dafff2452e0b55d1ca457ce7402e526e92a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 25 18:59:25 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 25 18:59:25 2022 +0100"
      },
      "message": "patch 8.2.4827: typo in variable name\n\nProblem:    Typo in variable name. (Gabriel Dupras)\nSolution:   Rename the variable.\n"
    },
    {
      "commit": "09661203ecefbee6a6f09438afcff1843e9dbfb4",
      "tree": "e9287958ff8d1d65e4c5a66703cd9f1d16c237fb",
      "parents": [
        "23d5770ef5e2f5c6d20d123303b81327045e5a1e"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Mon Apr 25 14:40:44 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 25 14:40:44 2022 +0100"
      },
      "message": "patch 8.2.4825: can only get a list of mappings\n\nProblem:    Can only get a list of mappings.\nSolution:   Add the optional {abbr} argument. (Ernie Rael, closes #10277)\n            Rename to maplist().  Rename test file.\n"
    },
    {
      "commit": "23d5770ef5e2f5c6d20d123303b81327045e5a1e",
      "tree": "c49bc4633fea401678305c1de139624ec5dc3d38",
      "parents": [
        "372bcceeee8012ef3fb2f3dbc8132c3a33cb84fc"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Mon Apr 25 13:28:00 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 25 13:28:00 2022 +0100"
      },
      "message": "patch 8.2.4824: expression is evaluated multiple times\n\nProblem:    Expression is evaluated multiple times.\nSolution:   Evaluate expression once and store the result. (closes #10278)\n"
    },
    {
      "commit": "659c240cf769925ff432b88df8719e7ace4629b0",
      "tree": "db1831765bb4392807a11a7b05c2b791f6a71894",
      "parents": [
        "a4e3332650021921068ef12923b4501c5b9918cb"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Sun Apr 24 18:40:28 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 24 18:40:28 2022 +0100"
      },
      "message": "patch 8.2.4820: not simple programmatic way to find a specific mapping\n\nProblem:    Not simple programmatic way to find a specific mapping.\nSolution:   Add getmappings(). (Ernie Rael, closes #10273)\n"
    },
    {
      "commit": "a4e3332650021921068ef12923b4501c5b9918cb",
      "tree": "89004ee99786454fed5b603a31ebf3df798e3bf3",
      "parents": [
        "ac92ab771952b2a9ee39ea6fa5e70e4c072942d5"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sun Apr 24 17:07:53 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 24 17:07:53 2022 +0100"
      },
      "message": "patch 8.2.4819: unmapping simplified keys also deletes other mapping\n\nProblem:    Unmapping simplified keys also deletes other mapping.\nSolution:   Only unmap a mapping with m_simplified set. (closes #10270)\n"
    },
    {
      "commit": "5de4c4372d4366bc85cb66efb3e373439b9471c5",
      "tree": "03a6aea2f9b80a06bc66775e4ea88168dd2d148d",
      "parents": [
        "afd4ae35d66b2e7732eceb5ad9f6b4ece6b7c64c"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Feb 28 13:28:38 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 28 13:28:38 2022 +0000"
      },
      "message": "patch 8.2.4483: command completion makes two rounds to collect matches\n\nProblem:    Command completion makes two rounds to collect matches.\nSolution:   Use a growarray to collect matches. (Yegappan Lakshmanan,\n            closes #9860)\n"
    },
    {
      "commit": "6caeda2fce4bccac2dd43ca9fee1d32ee96b708d",
      "tree": "2a3de1990e27aa46b59806f74228347f59ceff65",
      "parents": [
        "00333cb3b341499df8729b9345f0bbad968cda0b"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Feb 27 12:07:30 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 27 12:07:30 2022 +0000"
      },
      "message": "patch 8.2.4479: no fuzzy completieon for maps and abbreviations\n\nProblem:    No fuzzy completieon for maps and abbreviations.\nSolution:   Fuzzy complete maps and abbreviations. (Yegappan Lakshmanan,\n            closes #9856)\n"
    },
    {
      "commit": "d288eaad846f0e07e0141226f97d858dcf96cb78",
      "tree": "490599437d9eab23429353ddf151ac06fb0a510b",
      "parents": [
        "646bb7247ad6051aca223a2b04b008f682cdb57f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 16 18:27:55 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 16 18:27:55 2022 +0000"
      },
      "message": "patch 8.2.4401: map listing does not clear the rest of the command line\n\nProblem:    Map listing does not clear the rest of the command line.\nSolution:   Call msg_clear_eos(). (closes #5623, closes #5962)\n"
    },
    {
      "commit": "424bcae1fb0f69e0aef5e0cf84fd771cf34a0fb7",
      "tree": "2841d6e3702a563627a400fa10a284b73a817436",
      "parents": [
        "eb6c2765959c91ddbb527f96f91ba5be199b8d41"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 31 14:59:41 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 31 14:59:41 2022 +0000"
      },
      "message": "patch 8.2.4273: the EBCDIC support is outdated\n\nProblem:    The EBCDIC support is outdated.\nSolution:   Remove the EBCDIC support.\n"
    },
    {
      "commit": "8aa0e6c60da5f7a4b04eaead40d183fd8e5640a4",
      "tree": "149847bbf5b2f627ab0fbd70d85541c81b73d84b",
      "parents": [
        "ca34db3bdef7238b203386dc82b975ffdf26f839"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 20 11:27:58 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 20 11:27:58 2022 +0000"
      },
      "message": "patch 8.2.4150: Coverity warns for using pointer after free\n\nProblem:    Coverity warns for using pointer after free.\nSolution:   Swap statements, even though using the pointer is no problem.\n"
    },
    {
      "commit": "f61c89d2e698e287a9d04c0a29f4ecc0130c2ea2",
      "tree": "81dccba7f2ae6b868dd30b0f14db444b2f3383fb",
      "parents": [
        "bed34f0a8a4e38a72a080184881bc68254a8cdc6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 19 22:51:48 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 19 22:51:48 2022 +0000"
      },
      "message": "patch 8.2.4148: deleting any mapping may cause \u003cScritpCmd\u003e to fail\n\nProblem:    Deleting any mapping may cause \u003cScritpCmd\u003e to not set the script\n            context.\nSolution:   Only reset last_used_map if it is the deleted mapping.\n            (closes #9568)\n"
    },
    {
      "commit": "a9528b39a666dbaa026320f73bae4b1628a7fe51",
      "tree": "21446ca5d8a32259cbe8c6656175791ccac03b83",
      "parents": [
        "94075b2b0e8e3b75334799d2c082497fbf85ffa1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 18 20:51:35 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 18 20:51:35 2022 +0000"
      },
      "message": "patch 8.2.4140: maparg() does not indicate the type of script\n\nProblem:    maparg() does not indicate the type of script where it was defined.\nSolution:   Add \"scriptversion\".\n"
    },
    {
      "commit": "94075b2b0e8e3b75334799d2c082497fbf85ffa1",
      "tree": "d939dd75a398770e14f16aa330a43ebbdce07965",
      "parents": [
        "ef7aadbe36ad43a1b909f5f6c7e9b170ad62ef91"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 18 20:30:39 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 18 20:30:39 2022 +0000"
      },
      "message": "patch 8.2.4139: using freed memory in expression abbreviation\n\nProblem:    Using freed memory if an expression abbreviation deletes the\n            abbreviation.\nSolution:   Do not access the pointer after evaluating the expression.\n"
    },
    {
      "commit": "d648c01f2f3798a5c75422aa83211928ad783128",
      "tree": "6b438c1a7cbc78338227c62f5e353ac3ec9e5349",
      "parents": [
        "8f9956994d5c75ed88d6b2881b6ac0bb62a0d6af"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 16 14:58:34 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 16 14:58:34 2022 +0000"
      },
      "message": "patch 8.2.4111: potential proglem when map is deleted while executing\n\nProblem:    Potential proglem when map is deleted while executing.\nSolution:   Reset last used map pointer when deleting a mapping.\n"
    },
    {
      "commit": "19db9e6ba710ca32f0f5e0c2ca2ba69f8228b833",
      "tree": "985829b16070d2e27065d670fcb2ed42a03e160e",
      "parents": [
        "762838218feb223f53ab87d80928dadd991a1746"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 11 11:58:19 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 11 11:58:19 2022 +0000"
      },
      "message": "patch 8.2.4059: Vim9: an expression of a map cannot access script-local items\n\nProblem:    Vim9: an expression of a map cannot access script-local items.\n            (Maxim Kim)\nSolution:   Use the script ID of where the map was defined.\n"
    },
    {
      "commit": "b09feaa86ecc53b9b953710082496951776dc5c6",
      "tree": "0baf02c96c94c26072e9afdb833e638c3ab1a9cb",
      "parents": [
        "ac78dd4a352196ca4e6640f8e4caaf126afd49e3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 02 20:20:45 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 02 20:20:45 2022 +0000"
      },
      "message": "patch 8.2.3986: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more error messages to errors.h.\n"
    },
    {
      "commit": "ac78dd4a352196ca4e6640f8e4caaf126afd49e3",
      "tree": "c741cbf5a8f33503e42af2294afdbd4bf15b0ae9",
      "parents": [
        "3d0da09bb2d31afc611bf1c4b35796739d87ed63"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 02 19:25:26 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 02 19:25:26 2022 +0000"
      },
      "message": "patch 8.2.3985: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more error messages 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": "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": "6d0570117ac86b7979bf249de5741088212d6e17",
      "tree": "225e3162570358ed40ac31407ec965d2a560d8bf",
      "parents": [
        "ef089f50f9d6685c7a0ab94f9133576d7beec32b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 18:49:43 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 18:49:43 2021 +0000"
      },
      "message": "patch 8.2.3959: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "a3f83feb63eae5464a620ae793c002eb45f7a838",
      "tree": "ba852892bd11fba6e9f70586bc4adc5236a19932",
      "parents": [
        "73448a27a8e13b9b26759abeb092fd13a0e93238"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Mon Nov 22 12:47:39 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 22 12:47:39 2021 +0000"
      },
      "message": "patch 8.2.3643: header for source file is outdated\n\nProblem:    Header for source file is outdated.\nSolution:   Make the header more accurate. (closes #9186)\n"
    },
    {
      "commit": "4a15504e911bc90a29d862862f0b7a46d8acd12a",
      "tree": "db22db4ff9f4a48327a9f6c442b9e241bcebb2f9",
      "parents": [
        "0f5575d0a7316a9c9a4b02df3372a07514cd8f26"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Jul 30 21:32:45 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 30 21:32:45 2021 +0200"
      },
      "message": "patch 8.2.3252: duplicated code for adding buffer lines\n\nProblem:    Duplicated code for adding buffer lines.\nSolution:   Move code to a common function.  Also move map functions to map.c.\n            (Yegappan Lakshmanan, closes #8665)\n"
    },
    {
      "commit": "e29a27f6f8eef8f00d3c2d4cd9811d81cf3026b3",
      "tree": "eb8bd787e936db02a1617fb033aed2e224b3bbd3",
      "parents": [
        "9fa5dabedc4ed5af85773413e91c2fdbe4cb9f0a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 20 21:07:36 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 20 21:07:36 2021 +0200"
      },
      "message": "patch 8.2.3190: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move error messages to errors.h and give them a clear name.\n"
    },
    {
      "commit": "83494b4ac61898f687d6ef9dce4bad5802fb8e51",
      "tree": "36f06f4a70bd9a515527064cd8985029ab27c6a6",
      "parents": [
        "9bb0dad0d8283c86fddf5b950f4fbb6fb8f12741"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Jul 20 17:51:51 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 20 17:51:51 2021 +0200"
      },
      "message": "patch 8.2.3188: Vim9: argument types are not checked at compile time\n\nProblem:    Vim9: argument types are not checked at compile time.\nSolution:   Add several more type checks, also at runtime. (Yegappan\n            Lakshmanan, closes #8587)\n"
    },
    {
      "commit": "108010aa4720ef023a8ac59004fc0f2bc11125af",
      "tree": "831741a42644a86ee0d74679361f74cc27861eaa",
      "parents": [
        "d887297ad0164516dd52cdab0308c3626337d124"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 27 22:03:33 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 27 22:03:33 2021 +0200"
      },
      "message": "patch 8.2.3069: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move some error messages to errors.h.  Use clearer names.\n"
    },
    {
      "commit": "eeec2548785b2dd245a31ab25d7bde0f88ea1a6d",
      "tree": "533236c436888fd7a072c4d94a75279158f9c8a5",
      "parents": [
        "b54abeeafb074248597878a874fed9a66b114c06"
      ],
      "author": {
        "name": "K.Takata",
        "email": "kentkt@csc.jp",
        "time": "Wed Jun 02 13:28:16 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 02 13:28:16 2021 +0200"
      },
      "message": "patch 8.2.2922: computing array length is done in various ways\n\nProblem:    Computing array length is done in various ways.\nSolution:   Use ARRAY_LENGTH everywhere. (Ken Takata, closes #8305)\n"
    },
    {
      "commit": "551c1aed65817558ac1ece541c246ea585645807",
      "tree": "347fa3f99a9a053c0c1715778df5e7d022de4511",
      "parents": [
        "2bf6034e5caf36b319148f46ba9a12e36c3bd41d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 03 18:57:05 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 03 18:57:05 2021 +0200"
      },
      "message": "patch 8.2.2826: compiler warnings for int to size_t conversion\n\nProblem:    Compiler warnings for int to size_t conversion. (Randall W.\n            Morris)\nSolution:   Add type casts.\n"
    },
    {
      "commit": "4934ed34c3e2090d1963c89c629cd3ce81d3ecd1",
      "tree": "c3eed83db5c0981fddeeb7825c0a5da7bb13379d",
      "parents": [
        "aeed2a6359e9ca692e1397884c3678685132d360"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 30 19:43:11 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 30 19:43:11 2021 +0200"
      },
      "message": "patch 8.2.2819: finishing an abbreviation with multi-byte char may not work\n\nProblem:    Finishing an abbreviation with a multi-byte char may not work.\nSolution:   Escape K_SPECIAL in the typed character. (closes #8160)\n"
    },
    {
      "commit": "7ba1e4d363164e32a93cceab64b42e8c6d89e9f3",
      "tree": "394f63849ccd92fab02124387392df2aa77f75a2",
      "parents": [
        "e0c03c8e107f109eadab145e18544d8e74a6976e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 24 13:12:38 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 24 13:12:38 2021 +0200"
      },
      "message": "patch 8.2.2804: setting buffer local mapping with mapset() changes global\n\nProblem:    Setting buffer local mapping with mapset() changes global mapping.\nSolution:   Only set the local mapping. (closes #8143)\n"
    },
    {
      "commit": "e5a2dc87fd9d63dfd0d9c379e363ee8b8c05b14c",
      "tree": "715a114546d458acfe85c5d0fe94fed963842ce9",
      "parents": [
        "5afd081cd3d0f3dfbc7f6b157a8caad0ce6394ee"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 03 19:52:05 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 03 19:52:05 2021 +0100"
      },
      "message": "patch 8.2.2289: Vim9: \u0027cpo\u0027 can become empty\n\nProblem:    Vim9: \u0027cpo\u0027 can become empty.\nSolution:   Use empty_option instead of an empty string.  Update quickfix\n            buffer after restoring \u0027cpo\u0027.  (closes #7608)\n"
    },
    {
      "commit": "8e7d6223f630690b72b387eaed704bf01f3f29d2",
      "tree": "b2e694bda1dbae28776d68f9babbb42d27e5c730",
      "parents": [
        "3beaf9cd8efa3ba83e07187215004d140b89d529"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 18 19:49:56 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 18 19:49:56 2020 +0100"
      },
      "message": "patch 8.2.2160: various typos\n\nProblem:    Various typos.\nSolution:   Fix spelling mistakes. (closes #7494)\n"
    },
    {
      "commit": "957cf67d50516ba98716f59c9e1cb6412ec1535d",
      "tree": "a1f287aee01e4cbb023b2531a5a4b90e9728a8bf",
      "parents": [
        "ea2d407f9c144bb634c59017944e4930ed7f80a2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 12 14:21:06 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 12 14:21:06 2020 +0100"
      },
      "message": "patch 8.2.1978: making a mapping work in all modes is complicated\n\nProblem:    Making a mapping work in all modes is complicated.\nSolution:   Add the \u003cCmd\u003e special key. (Yegappan Lakshmanan, closes #7282,\n            closes 4784, based on patch by Bjorn Linse)\n"
    },
    {
      "commit": "74273e66914e46eb5814c13a1b888e45358859b6",
      "tree": "3f49aca8eaad979e9208ad9c69ea65fc8d215939",
      "parents": [
        "4537bcc88956f86267c25edf8008e0dbde598652"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 01 21:37:21 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 01 21:37:21 2020 +0200"
      },
      "message": "patch 8.2.1782: Vim9: cannot pass boolean to mapset()\n\nProblem:    Vim9: cannot pass boolean to mapset().\nSolution:   Use get_tv_bool(). (closes #7041)\n"
    },
    {
      "commit": "1b9129809d8269acb8e7c79d8fc99c7976b4f76e",
      "tree": "c295744bdee425cdea4e00883d084957c1cb45ce",
      "parents": [
        "f43e7ac4eee22dbb26fc069ec9a3d1598ec8dfe9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 29 21:45:41 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 29 21:45:41 2020 +0200"
      },
      "message": "patch 8.2.1773: crash when calling mapset() with a list as first argument\n\nProblem:    Crash when calling mapset() with a list as first argument.\nSolution:   Check for NULL. (closes #7040)\n"
    },
    {
      "commit": "04d594b9c14299ed50da0774fb8d3a10fbc4076f",
      "tree": "3aba97a163925267ee60a6832bf74f632c934f8a",
      "parents": [
        "6c553f9c04a698ac2e19584f8ea8e2cb7cd98c80"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 02 22:25:35 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 02 22:25:35 2020 +0200"
      },
      "message": "patch 8.2.1577: Vim9: hasmapto()/mapcheck()/maparg() do nottake \"true\" arg\n\nProblem:    Vim9: hasmapto(), mapcheck() and maparg() do not take \"true\" as\n            argument.\nSolution:   Use tv_get_bool(). (closes #6822, closes #6824)\n"
    },
    {
      "commit": "02c037a4be6aeb7f6376e7dcc3ab41cfc6db3ede",
      "tree": "ceaf479cfcca56f9da5d34bd8db2a1c46812713a",
      "parents": [
        "cd80006ecbde03f668a478a272d8009970b8cefa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 30 19:26:45 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 30 19:26:45 2020 +0200"
      },
      "message": "patch 8.2.1547: various comment problems\n\nProblem:    Various comment problems.\nSolution:   Update comments.\n"
    },
    {
      "commit": "b171fb179053fa631fec74911b5fb9374cb6a8a1",
      "tree": "c45ae9287bf07033cc4f3bf43529b7548ba432c9",
      "parents": [
        "9d40c63c7dc8c3eb3886c58dcd334bc7f37eceba"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 24 20:34:03 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 24 20:34:03 2020 +0200"
      },
      "message": "patch 8.2.1049: Vim9: leaking memory when using continuation line\n\nProblem:    Vim9: leaking memory when using continuation line.\nSolution:   Keep a pointer to the continuation line in evalarg_T.  Centralize\n            checking for a next command.\n"
    },
    {
      "commit": "a55ba06f6904af3d6a78fc90358cf72d4f2e8450",
      "tree": "59e26ab69eed88f91431a7bb50a5902f3023b5a7",
      "parents": [
        "f4b68e9056f8ddb64c3d7141df138fe099575abf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 27 21:29:04 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 27 21:29:04 2020 +0200"
      },
      "message": "patch 8.2.0832: compiler warning for uninitialized variable\n\nProblem:    Compiler warning for uninitialized variable. (Tony Mechelynck)\nSolution:   Add initial value.\n"
    },
    {
      "commit": "9c65253fe702ea010afec11aa971acd542c35de2",
      "tree": "f2b6966699a238c27d7c0115827955678bc773a0",
      "parents": [
        "3718427ba3c28ccab30726880389e44070640d3b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 24 13:10:18 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 24 13:10:18 2020 +0200"
      },
      "message": "patch 8.2.0815: maparg() does not provide enough information for mapset()\n\nProblem:    maparg() does not provide enough information for mapset().\nSolution:   Add \"lhsraw\" and \"lhsrawalt\" items.  Drop \"simplified\"\n"
    },
    {
      "commit": "c94c1467b9b86156a6b7c8d3e41ff01c13d2be07",
      "tree": "f74f53c6d79e92faabcf3823e111d80bffa56c9e",
      "parents": [
        "9cdcd1d0dc3bbea41b731639fd2431c2ef5cffaa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 22 20:01:06 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 22 20:01:06 2020 +0200"
      },
      "message": "patch 8.2.0812: mapset() does not properly handle \u003c\u003e notation\n\nProblem:    mapset() does not properly handle \u003c\u003e notation.\nSolution:   Convert \u003c\u003e codes. (closes #6116)\n"
    },
    {
      "commit": "5a80f8ad5dc0b2cc63400255dcf3c63f6c1a2ef9",
      "tree": "11d89d43d32362b2b31b33f283425c65de9733be",
      "parents": [
        "98f1671cc0ab0ad6139cb9c6ce5262e7f646bc0a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 22 13:38:18 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 22 13:38:18 2020 +0200"
      },
      "message": "patch 8.2.0809: build failure with small features\n\nProblem:    Build failure with small features. (Tony Mechelynck)\nSolution:   Move \"expr\" inside #ifdef.\n"
    },
    {
      "commit": "4c9243f9fb708c9010867d3cc8e928f36b58509a",
      "tree": "2e22d7b67780863b0b7af5e42a90fd2f904e3c5a",
      "parents": [
        "74fae513f8032cfa9e129eedc33454f0bf68668b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 22 13:10:44 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 22 13:10:44 2020 +0200"
      },
      "message": "patch 8.2.0807: cannot easily restore a mapping\n\nProblem:    Cannot easily restore a mapping.\nSolution:   Add mapset().\n"
    },
    {
      "commit": "6adb9ea0a6ca01414f4b591f379b0f829a8273c0",
      "tree": "8af9e5e5b2ea5d0a76e0fb1b393835c46674b27f",
      "parents": [
        "4e5534fab798ab7c95554da3bc80b08336aedc2b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 30 22:31:18 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 30 22:31:18 2020 +0200"
      },
      "message": "patch 8.2.0670: cannot change window when evaluating \u0027completefunc\u0027\n\nProblem:    Cannot change window when evaluating \u0027completefunc\u0027.\nSolution:   Make a difference between not changing text or buffers and also\n            not changing window.\n"
    },
    {
      "commit": "a80faa8930ed5a554beeb2727762538873135e83",
      "tree": "e797605e0c781214543fcba103cffede7af611cd",
      "parents": [
        "82de464f763d6e6d89229be03ce7c6d02fd5fb59"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 12 19:37:17 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 12 19:37:17 2020 +0200"
      },
      "message": "patch 8.2.0559: clearing a struct is verbose\n\nProblem:    Clearing a struct is verbose.\nSolution:   Define and use CLEAR_FIELD() and CLEAR_POINTER().\n"
    },
    {
      "commit": "2da0f0c445da3c9b35b2a0cd595d10e81ad2a6f9",
      "tree": "de42f08bbd29bad7e82f85da46d4fa546e0304df",
      "parents": [
        "0afdcf8601792ee751984265b49fc2ca6f8ea858"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 01 19:22:12 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 01 19:22:12 2020 +0200"
      },
      "message": "patch 8.2.0491: cannot recognize a \u003cscript\u003e mapping using maparg()\n\nProblem:    Cannot recognize a \u003cscript\u003e mapping using maparg().\nSolution:   Add the \"script\" key. (closes #5873)\n"
    },
    {
      "commit": "7f51bbe0d19f1f0cb0321326f45a17b4f5155f89",
      "tree": "45f2a17e61cc8c5407b25da693102ba0b825a104",
      "parents": [
        "03c3bd9fd094c1aede2e8fe3ad8fd25b9f033053"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 24 20:21:19 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 24 20:21:19 2020 +0100"
      },
      "message": "patch 8.2.0148: mapping related function in wrong source file\n\nProblem:    Mapping related function in wrong source file.\nSolution:   Move the function.  Add a few more test cases. (Yegappan\n            Lakshmanan, closes #5528)\n"
    },
    {
      "commit": "e31ee86859528a7ffe00405645547d494e522fa8",
      "tree": "741c24aea3fae5efb613d64314a6721d6cad85c5",
      "parents": [
        "ce6db0273f2c4359f48d75103a42991aa481f14e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 07 20:59:34 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 07 20:59:34 2020 +0100"
      },
      "message": "patch 8.2.0098: exe stack length can be wrong without being detected\n\nProblem:    Exe stack length can be wrong without being detected.\nSolution:   Add a check when ABORT_ON_INTERNAL_ERROR is defined.\n"
    },
    {
      "commit": "1a47ae32cdc19b0fd5a82e19fe5fddf45db1a506",
      "tree": "8f5dc27f3eeea927ad3ca8de42fe0df06a041dd5",
      "parents": [
        "257a396879ff67a0482841a39237f30a8e1e27c5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 29 23:04:25 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 29 23:04:25 2019 +0100"
      },
      "message": "patch 8.2.0056: execution stack is incomplete and inefficient\n\nProblem:    Execution stack is incomplete and inefficient.\nSolution:   Introduce a proper execution stack and use it instead of\n            sourcing_name/sourcing_lnum.  Create a string only when used.\n"
    },
    {
      "commit": "32aa10203bd0b4b270def03311a4599f9ffdecc4",
      "tree": "4c0188d20dcc6873e6d96f5a28b59bedcb8ebb0c",
      "parents": [
        "70def98a957620cc325d1ab6ee35f13187598693"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 02 22:54:41 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 02 22:54:41 2019 +0100"
      },
      "message": "patch 8.1.2243: typos in comments\n\nProblem:    Typos in comments.\nSolution:   Fix the typos. (Dominique Pelle, closes #5160)  Also adjust\n            formatting a bit.\n"
    },
    {
      "commit": "fafb4b18cd4aa5897537f53003b31bb83d7362df",
      "tree": "db0dc6de4c04bfd8964506937cd6facae7dd1391",
      "parents": [
        "17efc7fa05daea1e916a25620c71a5626b7f298d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 16 18:34:57 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 16 18:34:57 2019 +0200"
      },
      "message": "patch 8.1.2159: some mappings are listed twice\n\nProblem:    Some mappings are listed twice.\nSolution:   Skip mappings duplicated for modifyOtherKeys. (closes #5064)\n"
    },
    {
      "commit": "459fd785e4a8d044147a3f83a5fca8748528aa84",
      "tree": "52c679e08a445bac0f650bff4d8118d6eb190d7b",
      "parents": [
        "171a921b51101c1261040d28a8147c8829b675d3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 13 16:43:39 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 13 16:43:39 2019 +0200"
      },
      "message": "patch 8.1.2145: cannot map \u003cC-H\u003e when modifyOtherKeys is enabled\n\nProblem:    Cannot map \u003cC-H\u003e when modifyOtherKeys is enabled.\nSolution:   Add the \u003cC-H\u003e mapping twice, both with modifier and as 0x08.  Use\n            only the first one when modifyOtherKeys has been detected.\n"
    },
    {
      "commit": "581ba39aefe837298a9943b04a1dab13a7ec6772",
      "tree": "156f0c8dd74bd6e76c850239f753cbaa17c12924",
      "parents": [
        "27da7de7c547dbf983ed7dd901ea59be4e7c9ab2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 03 22:08:33 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 03 22:08:33 2019 +0200"
      },
      "message": "patch 8.1.1969: popup window filter is used in all modes\n\nProblem:    Popup window filter is used in all modes.\nSolution:   Add the \"filtermode\" property.\n"
    },
    {
      "commit": "e677df8d93772a705f40a94f3c871aee78fe4d99",
      "tree": "918556233748a58fbdcaf94d0416d6dcd0449b39",
      "parents": [
        "359ad1a6f92d0d3b4b942ea003fb02dc57bbfc9e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 02 22:31:11 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 02 22:31:11 2019 +0200"
      },
      "message": "patch 8.1.1966: some code in options.c fits better elsewhere\n\nProblem:    Some code in options.c fits better elsewhere.\nSolution:   Move functions from options.c to other files. (Yegappan\n            Lakshmanan, closes #4889)\n"
    },
    {
      "commit": "0a52df50a0e8fce6f5e0eb5f5373dcd0fa24d83a",
      "tree": "9860863c20df3f5354bf67a1d7efe054e23e8a99",
      "parents": [
        "66b51420e0c8d49bcf6786b792c938d6099e3393"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 18 22:26:31 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 18 22:26:31 2019 +0200"
      },
      "message": "patch 8.1.1887: the +cmdline_compl feature is not in the tiny version\n\nProblem:    The +cmdline_compl feature is not in the tiny version.\nSolution:   Graduate the +cmdline_compl feature.\n"
    },
    {
      "commit": "b66bab381c8ba71fd6e92327d1d34c6f8a65f2a7",
      "tree": "0ce017c26ce910c3c0cf9aa02ddfb904fc319042",
      "parents": [
        "3f9bdeb2a521a408c04fd9584a752845b3accbbd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 01 14:28:24 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 01 14:28:24 2019 +0200"
      },
      "message": "patch 8.1.1785: map functionality mixed with character input\n\nProblem:    Map functionality mixed with character input.\nSolution:   Move the map functionality to a separate file. (Yegappan\n            Lakshmanan, closes #4740)  Graduate the +localmap feature.\n"
    }
  ]
}
