)]}'
{
  "log": [
    {
      "commit": "55737c2a31ed450dd7bf2a9c587adfbb32b755bb",
      "tree": "7c91d8be0f82729aec1870c0c3ef521ff792b063",
      "parents": [
        "6dd7424c7e6ab81998c29ca3526c41b75cfde5a1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 14 14:51:22 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 14 14:51:22 2022 +0000"
      },
      "message": "patch 8.2.4379: an empty change is reported to a listener\n\nProblem:    An empty change is reported to a listener.\nSolution:   Do not report an empty change. (closes #9768)  Remove unused\n            return value.\n"
    },
    {
      "commit": "420fabcd4ffeaf79082a6e43db91e1d363f88f27",
      "tree": "89938a5800078e96cdf992aca87e1c79a2f255ac",
      "parents": [
        "fb80862e49fcbcf47907fc8cdaaf5c41cb9eb06e"
      ],
      "author": {
        "name": "\u003d?UTF-8?q?Dundar\u003d20G\u003dC3\u003dB6c?\u003d",
        "email": "gocdundar@gmail.com",
        "time": "Fri Jan 28 15:28:04 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 28 15:28:04 2022 +0000"
      },
      "message": "patch 8.2.4241: some type casts are redundant\n\nProblem:    Some type casts are redundant.\nSolution:   Remove the type casts. (closes #9643)\n"
    },
    {
      "commit": "8d02ce1ed75d008c34a5c9aaa51b67cbb9d33baa",
      "tree": "b620fd43b0d5cc344278304738f6d9e6d67c3260",
      "parents": [
        "06b77229ca704d00c4f138ed0377556e54d5851f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 25 18:24:00 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 25 18:24:00 2022 +0000"
      },
      "message": "patch 8.2.4217: illegal memory access when undo makes Visual area invalid\n\nProblem:    Illegal memory access when undo makes Visual area invalid.\nSolution:   Correct the Visual area after undo.\n"
    },
    {
      "commit": "04935fb17e5f0f66b82cf4546b9752d3d1fa650e",
      "tree": "d80c59d316f2f17a27a6541a8eb40d01cc49eca8",
      "parents": [
        "143367256836b0f69881dc0c65ff165ae091dbc5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 08 16:19:22 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 08 16:19:22 2022 +0000"
      },
      "message": "patch 8.2.4043: using int for second argument of ga_init2()\n\nProblem:    Using int for second argument of ga_init2().\nSolution:   Remove unnessary type cast (int) when using sizeof().\n"
    },
    {
      "commit": "d82a47dd0493ee976aa3f15ecdc9aea7da6ad5bf",
      "tree": "604109254c7057942fce5c1af26fdd1bc36c066f",
      "parents": [
        "bb8cac56d9c398a2b546d9c81c15e8c3d8fd811e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 20:24:39 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 20:24:39 2022 +0000"
      },
      "message": "patch 8.2.4012: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move the last error messages to errors.h.\n"
    },
    {
      "commit": "9d00e4a8146862c17ed429dc6b1b43349acb2b5f",
      "tree": "79a1e0d0a738940dba6a9a86936376bd62e04ca3",
      "parents": [
        "d3a117814d6acbf0dca3eff1a7626843b9b3734a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 17:49:15 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 17:49:15 2022 +0000"
      },
      "message": "patch 8.2.4010: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more error messages to errors.h.\n"
    },
    {
      "commit": "677658ae49de31fe2e5b1fa6d93fdfab85a4362e",
      "tree": "f5f0bbdda081ce1dad3bcaf7f4e6cf3281774cac",
      "parents": [
        "8e7d9db32b53ca2b1cb7570d2042860bcd1e943f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 16:09:06 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 05 16:09:06 2022 +0000"
      },
      "message": "patch 8.2.4008: 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": "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": "739f13a55b4982efb37ebc9282e7f79975fff982",
      "tree": "7ff6654580ba561b06c1fccaf2dffbf8a2334815",
      "parents": [
        "33b968dc60c5fa39451098e680c7559ebc65d1a7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 13 13:12:53 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 13 13:12:53 2021 +0000"
      },
      "message": "patch 8.2.3795: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate the jumplist feature.\n"
    },
    {
      "commit": "340dd0fbe462a15a9678cfba02085b4adcc45f02",
      "tree": "c306b977fa7adba5010d56cedd4cfc530f77349f",
      "parents": [
        "051a8a375f8fb6a931fbc5ccca714a200d9b327f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 14 17:52:23 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 14 17:52:23 2021 +0100"
      },
      "message": "patch 8.2.3509: undo file is not synced\n\nProblem:    Undo file is not synced. (Sami Farin)\nSolution:   Sync the undo file if \u0027fsync\u0027 is set. (Christian Brabandt,\n            closes #8879, closes #8920)\n"
    },
    {
      "commit": "4490ec4e839e45a2e6923c265c7e9e64c240b805",
      "tree": "3ef2dc127890ac6a644f38ae7932b7e70071544a",
      "parents": [
        "5d7c2df536c17db4a9c61e0760bdcf78d0db7330"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Jul 27 22:00:44 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 27 22:00:44 2021 +0200"
      },
      "message": "patch 8.2.3229: Vim9: runtime and compile time type checks are not the same\n\nProblem:    Vim9: runtime and compile time type checks are not the same.\nSolution:   Add more runtime type checks for builtin functions. (Yegappan\n            Lakshmanan, closes #8646)\n"
    },
    {
      "commit": "8a4c812ede5b01a8e71082c1ff4ebfcbf1bd515f",
      "tree": "2da838678bac4dd3d5fa1681e818517421e0e86b",
      "parents": [
        "3ed0d9379683246a77aa8c1a59da7a0ac6395339"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jul 25 14:36:05 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 25 14:36:05 2021 +0200"
      },
      "message": "patch 8.2.3218: when using xchaha20 crypt undo file is not removed\n\nProblem:    When using xchaha20 crypt undo file is not removed.\nSolution:   Reset \u0027undofile\u0027 and delete the file. (Christian Brabandt,\n            closes #8630, closes #8467)\n"
    },
    {
      "commit": "d8e44476d84b5f0cc8c4de080a47a3a9af547028",
      "tree": "c45296f474fb015dc94cedc81238377efc8e55b0",
      "parents": [
        "05bd9785fd0fd0102ab64554307bff0ec0ae34c1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 21 22:20:33 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 21 22:20:33 2021 +0200"
      },
      "message": "patch 8.2.3197: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move a few more error messages to errors.h.\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": "f573c6e1ed58d46d694c802eaf5ae3662a952744",
      "tree": "9d3ccf4402f322b9d1baf130696a6b0e600ae693",
      "parents": [
        "208f0b48b2c616b29f377a1408290111ed2663f7"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jun 20 14:02:16 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 20 14:02:16 2021 +0200"
      },
      "message": "patch 8.2.3022: available encryption methods are not strong enough\n\nProblem:    Available encryption methods are not strong enough.\nSolution:   Add initial support for xchaha20. (Christian Brabandt,\n            closes #8394)\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": "71ccd03ee8a43b20000214a9c99dcc90f039edca",
      "tree": "b5e89de8afbba2a8981d68b578514df046cb4aad",
      "parents": [
        "722e505d1a55dfde5ab62241d10da91d2e10c3c1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 12 22:59:11 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jun 12 22:59:11 2020 +0200"
      },
      "message": "patch 8.2.0967: unnecessary type casts for vim_strnsave()\n\nProblem:    Unnecessary type casts for vim_strnsave().\nSolution:   Remove the type casts.\n"
    },
    {
      "commit": "d5c2c7763d73b91efd64a49da8221f9955debdd5",
      "tree": "d63a60696eab3f4e4bd9b6502a205c6b9d209d42",
      "parents": [
        "87be9be1db6b6d8fb57ef14e05f23a84e5e8bea0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 16:17:33 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 16:17:33 2020 +0200"
      },
      "message": "patch 8.2.0846: build failure with small features\n\nProblem:    Build failure with small features.\nSolution:   Add #ifdef.\n"
    },
    {
      "commit": "a9d4b84d97fb74061eeb42c1433e111fb58825dc",
      "tree": "0d8a57baabbdc18ac8c265f2e9fa8c39dac43e70",
      "parents": [
        "0016fd2e29b7d4d4eef89a0516d14888a8651c61"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 14:46:52 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 14:46:52 2020 +0200"
      },
      "message": "patch 8.2.0844: text properties crossing lines not handled correctly\n\nProblem:    Text properties crossing lines not handled correctly.\nSolution:   When saving for undo include an extra line when needed and do not\n            adjust properties when undoing. (Axel Forsman, closes #5875)\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": "ff06f283e3e4b3ec43012dd3b83f8454c98f6639",
      "tree": "61a07e0fa072ae02212421515c60745109f2b924",
      "parents": [
        "1966c248814d5195edcd1208ed0e51e664a61283"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 21 22:01:14 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 21 22:01:14 2020 +0200"
      },
      "message": "patch 8.2.0614: get ml_get error when deleting a line in \u0027completefunc\u0027\n\nProblem:    Get ml_get error when deleting a line in \u0027completefunc\u0027. (Yegappan\n            Lakshmanan)\nSolution:   Lock the text while evaluating \u0027completefunc\u0027.\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": "e38eab22c1fb950127f0307a9904de6d4561dc70",
      "tree": "3435d9a3e3654948067dd1a89ebacf333ba877f0",
      "parents": [
        "0d6f5d9740dbad1b0207f3ab257de806169dd905"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 05 21:50:01 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 05 21:50:01 2019 +0100"
      },
      "message": "patch 8.1.2396: using old C style comments\n\nProblem:    Using old C style comments.\nSolution:   Use // comments where appropriate.\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": "52410575be50d5c40bbe6380159df48cfc382ceb",
      "tree": "f8a212edd951fa1df961da74870bc9c172dc0b01",
      "parents": [
        "dfded98f87601b11271ee88392c821ceb6390eda"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 27 05:12:45 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 27 05:12:45 2019 +0100"
      },
      "message": "patch 8.1.2225: the \"last used\" info of a buffer is under used\n\nProblem:    The \"last used\" info of a buffer is under used.\nSolution:   Add \"lastused\" to getbufinfo(). List buffers sorted by last-used\n            field. (Andi Massimino, closes #4722)\n"
    },
    {
      "commit": "bd67aac279adf3a1cfa11557229b44e4c2c3dcda",
      "tree": "b00100bb2bd1c42ce594c3d6804c618afae3450c",
      "parents": [
        "1e82a784ace6d2c4dce594dd6156bcb0028bba9e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 21 23:09:04 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 21 23:09:04 2019 +0200"
      },
      "message": "patch 8.1.2064: MS-Windows: compiler warnings for unused arguments\n\nProblem:    MS-Windows: compiler warnings for unused arguments.\nSolution:   Add UNUSED. (Yegappan Lakshmanan, closes #4963)\n"
    },
    {
      "commit": "840d16fd36bfd1a9fac8200e3dc016b1e3f9c328",
      "tree": "e0b85aeb6c3da97a0f8096ef934372f9b297ba7b",
      "parents": [
        "d20dcb3d011da6111153109f6e46fbd5c7fe9fb6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 10 21:27:18 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 10 21:27:18 2019 +0200"
      },
      "message": "patch 8.1.2021: some global functions can be local to the file\n\nProblem:    Some global functions can be local to the file.\nSolution:   Add \"static\". (Yegappan Lakshmanan, closes #4917)\n"
    },
    {
      "commit": "4544bd2f247425c9dd743c76618dd70f53c72538",
      "tree": "9940de2ec12998f428a1d4fdb048c610f66895a9",
      "parents": [
        "fca068b977b1dc07b269e8c3e0ff7aa638357eff"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 08 15:27:21 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 08 15:27:21 2019 +0200"
      },
      "message": "patch 8.1.2008: error for invalid range when using listener and undo\n\nProblem:    Error for invalid range when using listener and undo. (Paul Jolly)\nSolution:   Do not change the cursor before the lines are restored.\n            (closes #4908)\n"
    },
    {
      "commit": "08c308aeb5e7dfa18fa61f261b0bff79517a4883",
      "tree": "0262ab37d02fa41b05667b94992e51b232a8c1ef",
      "parents": [
        "0f63ed33fdd12d8220f7bc7ff91095e7ceed9985"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 04 17:48:15 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 04 17:48:15 2019 +0200"
      },
      "message": "patch 8.1.1981: the evalfunc.c file is too big\n\nProblem:    The evalfunc.c file is too big.\nSolution:   Move undo functions to undo.c.  Move cmdline functions to\n            ex_getln.c.  Move some container functions to list.c.\n"
    },
    {
      "commit": "5843f5f37b0632e2d706abc9014bfd7d98f7b02e",
      "tree": "2f1af5fd16214dfdf8edc8717e06a8b0aab81c1a",
      "parents": [
        "9a4a8c4d5993c6371486c895a515c2ad351e9aaa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 20 20:13:45 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 20 20:13:45 2019 +0200"
      },
      "message": "patch 8.1.1891: functions used in one file are global\n\nProblem:    Functions used in one file are global.\nSolution:   Add \"static\". (Yegappan Lakshmanan, closes #4840)\n"
    },
    {
      "commit": "fb06d767a8d76eead5391302fc88115d6e3879d8",
      "tree": "49fdbffa0db7d3623e78d89c4e4c36a968b9b097",
      "parents": [
        "c363fe1599655232e8bd6e279fbf70d4c1b7baf6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 04 18:55:35 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 04 18:55:35 2019 +0200"
      },
      "message": "patch 8.1.1812: reading a truncted undo file hangs Vim\n\nProblem:    Reading a truncted undo file hangs Vim.\nSolution:   Check for reading EOF. (closes #4769)\n"
    },
    {
      "commit": "db51730df1817fc4b6ecf5a065c69fac518ad821",
      "tree": "d7966f2f74b8f11cb6bb228a422bf4650e9bc7d9",
      "parents": [
        "517f71ab17c265602465eaee3775dcfe8afe0478"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 18 22:53:24 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 18 22:53:24 2019 +0200"
      },
      "message": "patch 8.1.1567: localtime_r() does not respond to $TZ changes\n\nProblem:    Localtime_r() does not respond to $TZ changes.\nSolution:   If $TZ changes then call tzset(). (Tom Ryder)\n"
    },
    {
      "commit": "c024b4667875e5bc6fd0ed791530e33c3161bff7",
      "tree": "4b7c358c24cb5f5d6d36a40250afbd44eaf6dda7",
      "parents": [
        "aef5c62a6fff7654bb8df7b9359e811f7a6e428f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 08 18:07:21 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jun 08 18:07:21 2019 +0200"
      },
      "message": "patch 8.1.1498: \":write\" increments b:changedtick even though nothing changed\n\nProblem:    \":write\" increments b:changedtick even though nothing changed.\n            (Daniel Hahler)\nSolution:   Only increment b:changedtick if the modified flag is reset.\n"
    },
    {
      "commit": "c799fe206e61f2e2c1231bc46cbe4bb354f3da69",
      "tree": "68b3d2a8bb82519e29fc95f317d2ee02b07f95fa",
      "parents": [
        "b58a4b938c4bc7e0499700859bd7abba9acc5b11"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 28 23:08:19 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 28 23:08:19 2019 +0200"
      },
      "message": "patch 8.1.1414: alloc() returning \"char_u *\" causes a lot of type casts\n\nProblem:    Alloc() returning \"char_u *\" causes a lot of type casts.\nSolution:   Have it return \"void *\". (Mike Williams)  Define ALLOC_ONE() to\n            check the simple allocations.\n"
    },
    {
      "commit": "18a4ba29aeccb9841d5bfdd2eaaffdfae2f15ced",
      "tree": "408ad339f6b34876d2fa481ac61568c7739b1160",
      "parents": [
        "71de720c2c117137185a6fc233b35aab37f0d4bc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 19:39:03 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 19:39:03 2019 +0200"
      },
      "message": "patch 8.1.1386: unessesary type casts for lalloc()\n\nProblem:    Unessesary type casts for lalloc().\nSolution:   Remove type casts.  Change lalloc(size, TRUE) to alloc(size).\n"
    },
    {
      "commit": "964b3746b9c81e65887e2ac9a335f181db2bb592",
      "tree": "9afaaac41a1c4f71b359fd6706b88df00e22e7a1",
      "parents": [
        "d33a764123a8aedb20cd84aeff3b94810ee67c4c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 18:54:09 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 18:54:09 2019 +0200"
      },
      "message": "patch 8.1.1384: using \"int\" for alloc() often results in compiler warnings\n\nProblem:    Using \"int\" for alloc() often results in compiler warnings.\nSolution:   Use \"size_t\" and remove type casts.  Remove alloc_check(), Vim\n            only works with 32 bit ints anyway.\n"
    },
    {
      "commit": "d6896731ecb74b419389f75d79210e088a9caa77",
      "tree": "d93730473269314f1ce66256e5800af1f0642f94",
      "parents": [
        "afd78266c5096574ec057c36fb4a0e56912e9a71"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 11 13:09:42 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 11 13:09:42 2019 +0200"
      },
      "message": "patch 8.1.1316: duplicated localtime() call\n\nProblem:    Duplicated localtime() call.\nSolution:   Delete one.\n"
    },
    {
      "commit": "63d2555c9cefbbeeca3ec87fdd5d241e9488f9dd",
      "tree": "f96d5dcd14268406b6c78c002f9bb63db7fc9cb9",
      "parents": [
        "4ca41534b726c4116d2e430e877e34146b4d4831"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 10 21:28:38 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 10 21:28:38 2019 +0200"
      },
      "message": "patch 8.1.1313: warnings for using localtime() and ctime()\n\nProblem:    Warnings for using localtime() and ctime().\nSolution:   Use localtime_r() if available.  Avoid using ctime().\n"
    },
    {
      "commit": "1f3601e92e7fd2813b9541580d6d9649c802eb58",
      "tree": "05c9e99b68810e0a12ca7af59619431ec8ae8c1c",
      "parents": [
        "d1f90bbcab0ad934d3f48a717a916807b57269ab"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 26 20:33:00 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 26 20:33:00 2019 +0200"
      },
      "message": "patch 8.1.1207: some compilers give warning messages\n\nProblem:    Some compilers give warning messages.\nSolution:   Initialize variables, change printf() argument. (Christian\n            Brabandt, closes #4305)\n"
    },
    {
      "commit": "d6c3f1fa2b5e1dd7dc87cf608d72b84ad696b58f",
      "tree": "ed9ea0a4c2edfe4195cabae79c10beb4b0ba2133",
      "parents": [
        "553e5a5c568e7d175b65b0472cd6d9843b25f4c8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 26 00:31:21 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 26 00:31:21 2019 +0100"
      },
      "message": "patch 8.1.1053: warning for missing return statement\n\nProblem:    Warning for missing return statement. (Dominique Pelle)\nSolution:   Add return statement.\n"
    },
    {
      "commit": "a84a3dd6635fcd2e07f510cba6a999585dcc381a",
      "tree": "5ec1f6fef107b2cf8fe33a5bf5bb04fd9edc6999",
      "parents": [
        "b45125b374cc3a1cef176b704f518c72c518f24c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 25 22:21:24 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 25 22:21:24 2019 +0100"
      },
      "message": "patch 8.1.1049: when user tries to exit with CTRL-C message is confusing\n\nProblem:    When user tries to exit with CTRL-C message is confusing.\nSolution:   Only mention \":qa!\" when there is a changed buffer. (closes #4163)\n"
    },
    {
      "commit": "4f97475d326c2773a78561fb874e4f23c25cbcd9",
      "tree": "7e066bc70556dfbb415ddb9f364e8432e8aaf189",
      "parents": [
        "78d21dae9c3a39efb30316d3e38dce120bc1abbd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 17 17:44:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 17 17:44:42 2019 +0100"
      },
      "message": "patch 8.1.0941: macros for MS-Windows are inconsistent\n\nProblem:    Macros for MS-Windows are inconsistent, using \"32\", \"3264 and\n            others.\nSolution:   Use MSWIN for all MS-Windows builds.  Use FEAT_GUI_MSWIN for the\n            GUI build. (Hirohito Higashi, closes #3932)\n"
    },
    {
      "commit": "29ddebef4038d2d2b3bc9d8d3b0109f4046d6fbf",
      "tree": "66144403e05268df8594b01d0298db4f570ed60f",
      "parents": [
        "3e460fd8b72db905fbf9f01b00371384ffc415b8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 26 17:28:26 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 26 17:28:26 2019 +0100"
      },
      "message": "patch 8.1.0826: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_VIRTUALEDIT.  Adds about 10Kbyte to the code.\n"
    },
    {
      "commit": "32526b3c1846025f0e655f41efd4e5428da16b6c",
      "tree": "e9f3ea5e0daaada049e905b5f1b38b4a45511f3d",
      "parents": [
        "d383c92ec1d14ffd5c3802f0ffd763e91d547fa8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 19 17:43:09 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 19 17:43:09 2019 +0100"
      },
      "message": "patch 8.1.0779: argument for message functions is inconsistent\n\nProblem:    Argument for message functions is inconsistent.\nSolution:   Make first argument to msg() \"char *\".\n"
    },
    {
      "commit": "f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d",
      "tree": "a6b07005c19279a4f5d01be14f14861c2657fa95",
      "parents": [
        "05500ece6282407f9f7227aaf564e24147326863"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:38:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:38:42 2019 +0100"
      },
      "message": "patch 8.1.0743: giving error messages is not flexible\n\nProblem:    Giving error messages is not flexible.\nSolution:   Add semsg().  Change argument from \"char_u *\" to \"char *\", also\n            for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes\n            #3302)  Also make emsg() accept a \"char *\" argument.  Get rid of\n            an enormous number of type casts.\n"
    },
    {
      "commit": "8aef43b66cf280c79a75d81f43ce5223b9044e63",
      "tree": "b9c130e77c86b18c7da28805d654734c35aebee9",
      "parents": [
        "b589f95b38ddd779d7e696abb0ea011dc92ea903"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 08 20:14:35 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 08 20:14:35 2019 +0100"
      },
      "message": "patch 8.1.0703: compiler warnings with 64-bit compiler\n\nProblem:    Compiler warnings with 64-bit compiler.\nSolution:   Change types, add type casts. (Mike Williams)\n"
    },
    {
      "commit": "ccae4672fd622f2feac8322be71b6e43e68dc4fc",
      "tree": "ac94dc01665017c2e109546a1f0e09ab7e5df728",
      "parents": [
        "6d3a1940be9d3f2b079f81baa9b19f839289b69e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 04 15:09:57 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 04 15:09:57 2019 +0100"
      },
      "message": "patch 8.1.0688: text properties are not restored by undo\n\nProblem:    Text properties are not restored by undo.\nSolution:   Also save text properties for undo.\n"
    },
    {
      "commit": "6dff58f15cede9139b2fcfc64c9064326ea3d3b0",
      "tree": "f2326055f5fe8bb5948374155f11bd220c1d9dc7",
      "parents": [
        "f45d747ebf920940b041f5c75c2bfdffb6b670ae"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 30 21:43:26 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 30 21:43:26 2018 +0200"
      },
      "message": "patch 8.1.0443: unnecessary static function prototypes\n\nProblem:    Unnecessary static function prototypes.\nSolution:   Remove unnecessary prototypes.\n"
    },
    {
      "commit": "fd6100b2aa6178b88cfadcdbc494966bf79a5488",
      "tree": "84eaf9a9ce4115b073c81c184d8d4694bfe0a1e5",
      "parents": [
        "0f6b4f06dece71487a6d8546c50de775d9c8c287"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 21 17:07:45 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 21 17:07:45 2018 +0200"
      },
      "message": "patch 8.1.0308: a quick undo shows \"1 seconds ago\"\n\nProblem:    A quick undo shows \"1 seconds ago\". (Tony Mechelynck)\nSolution:   Add singular/plural message.\n"
    },
    {
      "commit": "efc81331e7bceafa2d7bc452a98d6ec1943b4292",
      "tree": "8942668ba3f82569214a27cd0acf5ccabd565a4d",
      "parents": [
        "e76c4b237d41d0e62ca5d4fc76d1dd163fe222c0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 13 16:31:19 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 13 16:31:19 2018 +0200"
      },
      "message": "patch 8.1.0179: redundant condition for boundary check\n\nProblem:    Redundant condition for boundary check.\nSolution:   Remove the condition. (Dominique Pelle). Change FALSE to FAIL.\n"
    },
    {
      "commit": "e0be167a805fd547c25ec1ec97fd4c7f13046236",
      "tree": "423fb96f7b30329ef0b7ccf3d4b2a02620e7929c",
      "parents": [
        "4cde86c2ef885e82fff3d925dee9fb5671c025cf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 08 16:50:37 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 08 16:50:37 2018 +0200"
      },
      "message": "patch 8.1.0166: using dict_add_nr_str() is clumsy\n\nProblem:    Using dict_add_nr_str() is clumsy.\nSolution:   Split into two functions. (Ozaki Kiichi, closes #3154)\n"
    },
    {
      "commit": "e0429681aed5448d1c3b8399d152a2b1a05ea6d7",
      "tree": "973983ac7327502a40ac91593c628e9846616748",
      "parents": [
        "ca06da92432a57e5dcf3e0eebd322fae80941a6b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 01 16:44:03 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 01 16:44:03 2018 +0200"
      },
      "message": "patch 8.1.0135: undo message delays screen update for CTRL-O u\n\nProblem:    Undo message delays screen update for CTRL-O u.\nSolution:   Add smsg_attr_keep(). (closes #3125)\n"
    },
    {
      "commit": "4551c0a9fcdbdef52836d4852686d54b5e47fdaf",
      "tree": "ad8c9cd625b250195115851a2de3fd67a0c3035a",
      "parents": [
        "9b0c5c23bd5260caef82a4f3dcc945c129857c52"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 20 22:38:21 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jun 20 22:38:21 2018 +0200"
      },
      "message": "patch 8.1.0091: MS-Windows: Cannot interrupt gdb when program is running\n\nProblem:    MS-Windows: Cannot interrupt gdb when program is running.\nSolution:   Add debugbreak() and use it in the terminal debugger.\n            Respect \u0027modified\u0027 in a prompt buffer.\n"
    },
    {
      "commit": "ea39176baab52b646d1e2676e662def718ddd365",
      "tree": "b7efd5049894e2dd699222f9614ffcf01e892480",
      "parents": [
        "4ac2e8d8e60dcc7dbff662e177b86ccfbda7cd9e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 08 13:07:22 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 08 13:07:22 2018 +0200"
      },
      "message": "patch 8.0.1677: no compiler warning for wrong format in vim_snprintf()\n\nProblem:    No compiler warning for wrong format in vim_snprintf().\nSolution:   Add printf attribute for gcc.  Fix reported problems.\n"
    },
    {
      "commit": "f2bd8ef2b4507d02c6043affff8f7e85e3414d5f",
      "tree": "f14cb8e7ff09975920f3a813d7de4851a2972661",
      "parents": [
        "3f54fd319f6641b4bed478bcc90cdb39ede68e31"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 04 18:08:14 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 04 18:08:14 2018 +0100"
      },
      "message": "patch 8.0.1564: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate the +autocmd feature. Takes away 450 #ifdefs and\n            increases code size of tiny Vim by only 40 Kbyte.\n"
    },
    {
      "commit": "d23a823669d93fb2a570a039173eefe4856ac806",
      "tree": "617130258eae70e3bd7ef7b6da9c494ffee7b572",
      "parents": [
        "42443c7d7fecc3a2a72154bb6139b028438617c2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 10 18:45:26 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 10 18:45:26 2018 +0100"
      },
      "message": "patch 8.0.1496: clearing a pointer takes two lines\n\nProblem:    Clearing a pointer takes two lines.\nSolution:   Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,\n            closes #2629)\n"
    },
    {
      "commit": "059fd01021779ee369c1e55557275f6c349fda9e",
      "tree": "78a538e6e2b083d8154c37f4633fefe3addf00e6",
      "parents": [
        "a172b63ab8661019dba61285a738c8b6b55a33aa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 31 14:25:53 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 31 14:25:53 2018 +0100"
      },
      "message": "patch 8.0.1443: compiler complains about uninitialized variable\n\nProblem:    Compiler complains about uninitialized variable. (Tony Mechelynck)\nSolution:   Assign a value to the variable.\n"
    },
    {
      "commit": "ce46d934af35d0f774be7f996001db03cf0b894a",
      "tree": "1145362d6a0ddfe22acf17aac1f34fcc2c3eda1f",
      "parents": [
        "b50773c6df0bc2c9c2ab1afecc78083abc606de0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 30 22:46:06 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 30 22:46:06 2018 +0100"
      },
      "message": "patch 8.0.1441: using \":undo 0\" leaves undo in wrong state\n\nProblem:    Using \":undo 0\" leaves undo in wrong state.\nSolution:   Instead of searching for state 1 and go above, just use the start.\n            (Ozaki Kiichi, closes #2595)\n"
    },
    {
      "commit": "f405c8fe85bba6dc96a68a12ab976f745fc51a38",
      "tree": "88916960c439cc73774c8c9d0d030ea33b510bbd",
      "parents": [
        "620ca2da372dc9c892022faff83d363c67cc5c45"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 09 19:51:49 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Dec 09 19:51:49 2017 +0100"
      },
      "message": "patch 8.0.1382: get \"no write since last change\" message if terminal is open\n\nProblem:    Get \"no write since last change\" message if a terminal is open.\n            (Fritz mehner)\nSolution:   Don\u0027t consider a buffer changed if it\u0027s a terminal window.\n"
    },
    {
      "commit": "80eaddd3a0bc47cb14168964678420cfe03a2502",
      "tree": "0e66e678c9860233e0cbcc6350a3414bd8c08c5a",
      "parents": [
        "7f2e9d7c9cdfc5201a899b7b610edf64bf80c45f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 11 23:37:08 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 11 23:37:08 2017 +0100"
      },
      "message": "patch 8.0.1290: seq_cur of undotree() wrong after undo\n\nProblem:    seq_cur of undotree() wrong after undo.\nSolution:   Get the actual sequence number instead of decrementing the current\n            one. (Ozaki Kiichi, closes #2319)\n"
    },
    {
      "commit": "d057301b1f28736f094affa17b190244ad56e8d9",
      "tree": "ae20801354321a5ff0d7d23b04d8d6018c57645a",
      "parents": [
        "ef83956e1e67736b4c6b886d897b74f022622a74"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 28 21:11:06 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 28 21:11:06 2017 +0200"
      },
      "message": "patch 8.0.1236: Mac features are confusing\n\nProblem:    Mac features are confusing.\nSolution:   Make feature names more consistent, add \"osxdarwin\". Rename\n            feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)\n"
    },
    {
      "commit": "5c6dbcb03fa552d7b0e61c8fcf425147eb6bf7d5",
      "tree": "13f37aa604997567c63b0e5786ee2625282d8d4b",
      "parents": [
        "4e83961985abb78757b135f29ac4ffde675247af"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 30 22:00:20 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 30 22:00:20 2017 +0200"
      },
      "message": "patch 8.0.1026: GTK on-the-spot input has problems\n\nProblem:    GTK on-the-spot input has problems. (Gerd Wachsmuth)\nSolution:   Support over-the-spot. (Yukihiro Nakadaira, Ketn Takata, closes\n            #1215)\n"
    },
    {
      "commit": "829aa64cf5a113bb683ddf8b32e483e0696602ea",
      "tree": "8b6025cfbfa43e4233fd385208e25de1d364e431",
      "parents": [
        "d2c45a1964ddb0d9ac16c9c985051fab41f37840"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 23 22:32:35 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 23 22:32:35 2017 +0200"
      },
      "message": "patch 8.0.0988: warning from Covscan about using NULL pointer\n\nProblem:    Warning from Covscan about using NULL pointer.\nSolution:   Add extra check for NULL. (zdohnal)\n"
    },
    {
      "commit": "eb44a68b42eda207a5bc4def9ea8fc4d38acb650",
      "tree": "6fae22aba3c4f1eaad8e6d5e4d74df201c78a65e",
      "parents": [
        "620d064b0b0bca2268574abdec2d8eac3384cfdf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 22:44:55 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 03 22:44:55 2017 +0200"
      },
      "message": "patch 8.0.0858: can exit while a terminal is still running a job\n\nProblem:    Can exit while a terminal is still running a job.\nSolution:   Consider a buffer with a running job like a changed file.\n"
    },
    {
      "commit": "63ecddab6d918214371ccaaeb10c118ae7c39d02",
      "tree": "7c5f8f89a456a607c850e0f83db2d57135b1f0b6",
      "parents": [
        "d85f271bf8516dbd90be4d18f905f0abbfcd6db6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 28 22:29:35 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 28 22:29:35 2017 +0200"
      },
      "message": "patch 8.0.0798: no highlighting in a terminal window with a finished job\n\nProblem:    No highlighting in a terminal window with a finished job.\nSolution:   Highlight the text.\n"
    },
    {
      "commit": "56f2db562ddc6c69026d55360f0cfaacd8adc26a",
      "tree": "fd02d38d13107fc33e009cba6068c2ac654069b8",
      "parents": [
        "3a429efb628a3925d13c3fe415e02a7ce117071f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 11 23:09:15 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 11 23:09:15 2017 +0200"
      },
      "message": "patch 8.0.0636: when reading the undo file fails may use uninitialized data\n\nProblem:    When reading the undo file fails may use uninitialized data.\nSolution:   Always clear the buffer on failure.\n"
    },
    {
      "commit": "8820b48654b62472821d9b155fe03ab7ac13a05c",
      "tree": "7783a4068aee8368661722d5171d33a4d410d6bb",
      "parents": [
        "40ebc0afda8d8e478d2090133ed6a3cd3d8da3ec"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 17:23:31 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 16 17:23:31 2017 +0100"
      },
      "message": "patch 8.0.0466: still macros that should be all-caps\n\nProblem:    There are still a few macros that should be all-caps.\nSolution:   Make a few more macros all-caps.\n"
    },
    {
      "commit": "91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f",
      "tree": "1923145c992a09b3adc06e40f02284ff0ef21bbd",
      "parents": [
        "47ffb905f363571072faefbd417938e7ff351a9f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 19:22:36 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 19:22:36 2017 +0100"
      },
      "message": "patch 8.0.0451: some macros are in lower case\n\nProblem:    Some macros are in lower case.\nSolution:   Make a few more macros upper case. Avoid lower case macros use an\n            argument twice.\n"
    },
    {
      "commit": "b5aedf3e228d35821591da9ae8501b61cf2e264c",
      "tree": "39cdf29566db1e5ed8b2235d2b0240c859163bd8",
      "parents": [
        "8774845ce1a7def122ea07c057a79417f3be3d17"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 18:23:53 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 18:23:53 2017 +0100"
      },
      "message": "patch 8.0.0448: some macros are in lower case\n\nProblem:    Some macros are in lower case, which can be confusing.\nSolution:   Make a few lower case macros upper case.\n"
    },
    {
      "commit": "0c8485f0e4931463c0f7986e1ea84a7d79f10c75",
      "tree": "a2150ee7dcde00d58ee21dfb653f45f09f5f9894",
      "parents": [
        "3eb1637b1bba19519885dd6d377bd5596e91d22c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 26 18:17:10 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 26 18:17:10 2017 +0100"
      },
      "message": "patch 8.0.0378: possible overflow when reading corrupted undo file\n\nProblem:    Another possible overflow when reading corrupted undo file.\nSolution:   Check if allocated size is not too big. (King)\n"
    },
    {
      "commit": "3eb1637b1bba19519885dd6d377bd5596e91d22c",
      "tree": "987e404cc32bf438d5e6c9939862c5cc7e0dddca",
      "parents": [
        "6d3c8586fc81b022e9f06c611b9926108fb878c7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 26 18:11:36 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 26 18:11:36 2017 +0100"
      },
      "message": "patch 8.0.0377: possible overflow when reading corrupted undo file\n\nProblem:    Possible overflow when reading corrupted undo file.\nSolution:   Check if allocated size is not too big. (King)\n"
    },
    {
      "commit": "5e4e1b12998b1ed99138cad1c5da4d430f798547",
      "tree": "aee404f261c89b5ef780e506ef80ae829bfe7d1b",
      "parents": [
        "eb46f8fa14a586779f55b1c7f1648f559618322e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 17 22:09:45 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 17 22:09:45 2017 +0100"
      },
      "message": "patch 8.0.0205: wrong behavior after :undojoin\n\nProblem:    After :undojoin some commands don\u0027t work properly, such as :redo.\n            (Matthew Malcomson)\nSolution:   Don\u0027t set curbuf-\u003eb_u_curhead. (closes #1390)\n"
    },
    {
      "commit": "cbd4de44e8d08fba3c09eb40ad6e36e83faf020a",
      "tree": "a27001fc4d918b90c8ce7c3c5eb07cefef1b689c",
      "parents": [
        "c6aa475a27e3ed1645446b014c32ebf68d005d49"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 07 16:14:57 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 07 16:14:57 2017 +0100"
      },
      "message": "patch 8.0.0149: :earlier does not work after reading the undo file\n\nProblem:    \":earlier\" and \":later\" do not work after startup or reading the\n            undo file.\nSolution:   Use absolute time stamps instead of relative to the Vim start\n            time. (Christian Brabandt, Pavel Juhas, closes #1300, closes\n            #1254)\n"
    },
    {
      "commit": "95f096030ed1a8afea028f2ea295d6f6a70f466f",
      "tree": "9b1dcdbbe678ad1a3152f5cfd70a136efce6bc92",
      "parents": [
        "459ca563128f2edb7e3bb190090bbb755a56dd55"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 10 20:01:45 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 10 20:01:45 2016 +0100"
      },
      "message": "patch 8.0.0074\nProblem:    Cannot make Vim fail on an internal error.\nSolution:   Add IEMSG() and IEMSG2(). (Domenique Pelle)  Avoid reporting an\n            internal error without mentioning where.\n"
    },
    {
      "commit": "55952d4dd490bb2f63bda5d7f6d8fb69f58c333c",
      "tree": "afb9529e96c04479e470c5fdf929ce668028ecde",
      "parents": [
        "81615517249bb78cba9c37c9834b787c1b265521"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 05 14:58:34 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 05 14:58:34 2016 +0100"
      },
      "message": "patch 8.0.0063\nProblem:    Compiler warning for comparing with unsigned. (Zoltan Arpadffy)\nSolution:   Change \u003c\u003d to \u003d\u003d.\n"
    },
    {
      "commit": "edf3f97ae2af024708ebb4ac614227327033ca47",
      "tree": "82fed9ebfc85a69d3cff613f9dab11c8750fad8b",
      "parents": [
        "965ed14973fd3f1b2aace7bae4d4722b71ca04f9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 22:49:24 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 22:49:24 2016 +0200"
      },
      "message": "patch 7.4.2293\nProblem:    Modelines in source code are inconsistant.\nSolution:   Use the same line in most files.  Add \u0027noet\u0027.  (Naruhiko Nishino)\n"
    },
    {
      "commit": "170b10b421f0c9fda08b7cfd3bb043c064f3659a",
      "tree": "31940a6dd764f664f7c6886f0d3645b67754b60a",
      "parents": [
        "b56195ed00a9a79aa6217cddbeedbc8cc7a5b6d8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 29 16:15:27 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 29 16:15:27 2016 +0200"
      },
      "message": "patch 7.4.2113\nProblem:    Test for undo is flaky.\nSolution:   Turn it into a new style test.  Use test_settime() to avoid\n            flakyness.\n"
    },
    {
      "commit": "a06ecab7a5159e744448ace731036f0dc5f87dd4",
      "tree": "9474754ee4ef21fefea517d5fa2deae7c30c458d",
      "parents": [
        "bfafb4c4a01db3f8c508716daf689e0dfe92b649"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 16 14:47:36 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 16 14:47:36 2016 +0200"
      },
      "message": "patch 7.4.2048\nProblem:    There is still code and help for unsupported systems.\nSolution:   Remove the code and text. (Hirohito Higashi)\n"
    },
    {
      "commit": "8767f52fbfd4f053ce00a978227c95f1d7d323fe",
      "tree": "ac0cb33815d6e9d41f9b7a6b4ee4335e6076feaa",
      "parents": [
        "4a6c670b844a3ef9aec865a8216eaf363bab8721"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 17:17:39 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 17:17:39 2016 +0200"
      },
      "message": "patch 7.4.1975\nProblem:    On MS-Windows large files (\u003e 2Gbyte) cause problems.\nSolution:   Use \"off_T\" instead of \"off_t\".  Use \"stat_T\" instead of \"struct\n            stat\".  Use 64 bit system functions if available.  (Ken Takata)\n"
    },
    {
      "commit": "d22e9465f6228207a4fe722ee84371c7817060d6",
      "tree": "88c78b4173edd9f3f84ed69341d7dac225bbf286",
      "parents": [
        "ce2ec0a82a778ff4d79a2c3309f6cac079d7b5ee"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 15 17:43:55 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 15 17:43:55 2016 +0100"
      },
      "message": "patch 7.4.1574\nProblem:    \":undo 0\" does not work. (Florent Fayolle)\nSolution:   Make it undo all the way. (closes #688)\n"
    },
    {
      "commit": "48e330aff911be1c798c88a973af6437a8141fce",
      "tree": "4945b46753c6220ae5e8cd406d139e5640bd39c4",
      "parents": [
        "4e221c99e85ed40c98892068a01270b9e7492d98"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 14:53:34 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 14:53:34 2016 +0100"
      },
      "message": "patch 7.4.1399\nProblem:    The MS-DOS code does not build.\nSolution:   Remove the old MS-DOS code.\n"
    },
    {
      "commit": "1d6fbe654066845ff2a182ed258e6e9d3408fa90",
      "tree": "7300ff3f58090f352c9e56554376588c12c4c104",
      "parents": [
        "132006c3d0f87dbda5f4d5410fcce312e4716f72"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 19 22:46:34 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 19 22:46:34 2016 +0100"
      },
      "message": "patch 7.4.1358\nProblem:    Compiler warning when not building with +crypt.\nSolution:   Add #ifdef. (John Marriott)\n"
    },
    {
      "commit": "764b23c8fd3369cb05ae9122abf3ca16fec539d7",
      "tree": "9f9c938d8f1d4d38aae0ea514eed94c89cb1aeb8",
      "parents": [
        "055409764ca5f7978d4c399d2c440af0ce971c4f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 21:10:09 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 21:10:09 2016 +0100"
      },
      "message": "patch 7.4.1214\nProblem:    Using old style function declarations.\nSolution:   Change to new style function declarations. (script by Hirohito\n            Higashi)\n"
    },
    {
      "commit": "baaa7e9ec7398a813e21285c272fa99792642077",
      "tree": "e9636114bf7c80ae3f7ded9ba9edb8b3ea504344",
      "parents": [
        "92b8b2d307e34117f146319872010b0ccc9d2713"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 29 22:47:03 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 29 22:47:03 2016 +0100"
      },
      "message": "patch 7.4.1199\nProblem:    Still using __ARGS.\nSolution:   Remove __ARGS in several files. (script by Hirohito Higashi)\n"
    },
    {
      "commit": "3cbac309f78f92434f75da5c4963d8caf4b6d3d3",
      "tree": "6837a5cd0d878a32dc6bf30b03f0b512d52dc8b9",
      "parents": [
        "5b14f89164fa2f40f52283226c98005887568317"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 21 16:12:06 2015 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 21 16:12:06 2015 +0200"
      },
      "message": "patch 7.4.707\nProblem:    Undo files can have their executable bit set.\nSolution:   Strip of the executable bit. (Mikael Berthe)\n"
    },
    {
      "commit": "f65aad5554f1d1f972f0bd38059da70e3cdf4c87",
      "tree": "728f338d2e0f292611ad375e724aaa27d9f74bb8",
      "parents": [
        "be20f9fa5da001258a40a5f01e38befac4ebfe80"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 17 13:43:40 2015 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 17 13:43:40 2015 +0100"
      },
      "message": "updated for version 7.4.634\nProblem:    Marks are not restored after redo + undo.\nSolution:   Fix the way marks are restored. (Olaf Dabrunz)\n"
    },
    {
      "commit": "3516928c75f38e4304b76f0697175dbb055af6a2",
      "tree": "cc856475a4ac2f3d072fa8aa067b695dd163c14c",
      "parents": [
        "3089a1068dd5a0645cea0df09a1c8a1f00146649"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 11 22:50:09 2014 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 11 22:50:09 2014 +0200"
      },
      "message": "updated for version 7.4.443\nProblem:    Error reported by ubsan when running test 72.\nSolution:   Add type cast to unsigned. (Dominique Pelle)\n"
    },
    {
      "commit": "9b8f021d93de3a2a2905d0e46b9f0b6dbb3e12f9",
      "tree": "fa60f4b35b5721fe7932c21d4569c6ec51519da0",
      "parents": [
        "2be795084f053928879d758443e199ef147cc07e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 13 22:05:53 2014 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 13 22:05:53 2014 +0200"
      },
      "message": "updated for version 7.4.404\nProblem:    Windows 64 bit compiler warnings.\nSolution:   Add type casts. (Mike Williams)\n"
    },
    {
      "commit": "5a669b94814a5ca1ff69f76f18c75a90f4404ca6",
      "tree": "7b270af53503fdd4d7452b596272a421dafef050",
      "parents": [
        "07cf382e223b8b88f4b763d104e3e487c96d32d2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 12 20:14:33 2014 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 12 20:14:33 2014 +0200"
      },
      "message": "updated for version 7.4.402\nProblem:    Test 72 crashes under certain conditions. (Kazunobu Kuriyama)\nSolution:   Clear the whole bufinfo_T early.\n"
    },
    {
      "commit": "8f4ac01544b44bdd906d241e4f203de7496e5ac8",
      "tree": "52ee7ff7368d7953f2baa3d7d015c539b11a345e",
      "parents": [
        "0106b4b89127b043eddf711c750364b487deb794"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 10 13:38:34 2014 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 10 13:38:34 2014 +0200"
      },
      "message": "updated for version 7.4.399\nProblem:    Encryption implementation is messy.  Blowfish encryption has a\n            weakness.\nSolution:   Refactor the encryption, store the state in an allocated struct\n            instead of using a save/restore mechanism.  Introduce the\n            \"blowfish2\" method, which does not have the weakness and encrypts\n            the whole undo file. (largely by David Leadbeater)\n"
    },
    {
      "commit": "5bd32f47ec5121a5485d180add1dacb73472e4b2",
      "tree": "f779d9e3e80717a5a8f06a154eaa332ab2452618",
      "parents": [
        "6716d9af113a5c4bcc7fdf8fd24f3d633db386c7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 02 14:05:38 2014 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 02 14:05:38 2014 +0200"
      },
      "message": "updated for version 7.4.238\nProblem:    Vim does not support the smack library.\nSolution:   Add smack support (Jose Bollo)\n"
    },
    {
      "commit": "f7ff6e85e8a4e84cff023f5db4b66ef85986605a",
      "tree": "813913a9c1d1418b5b85e3a4bc414dbeb2b3f6a3",
      "parents": [
        "a68783751647e3243ca6f22df62907efbdbccb02"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 23 15:13:05 2014 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 23 15:13:05 2014 +0100"
      },
      "message": "updated for version 7.4.212\nProblem:    Now that the +visual feature is always enabled the #ifdefs for it\n            are not useful.\nSolution:   Remove the checks for FEAT_VISUAL.\n"
    },
    {
      "commit": "206f011829920e41c4d3782af7591da6e1b86655",
      "tree": "e244183206e3bcf82829738bf2d0eca05c7f4baf",
      "parents": [
        "f7dc2b551708315a833fcb19c288759c277dcfe1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 12 16:51:55 2014 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 12 16:51:55 2014 +0100"
      },
      "message": "updated for version 7.4.197\nProblem:    Various problems on VMS.\nSolution:   Fix several VMS problems. (Zoltan Arpadffy)\n"
    },
    {
      "commit": "b4d587cbd9450d1a28dfb40c5204e9071f7bd955",
      "tree": "49ee7b74b3f001946e9bc24d9993745d5a9f9016",
      "parents": [
        "4a36bcf0d8303c0ba6964f23e24a766242771ef3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 23 18:12:49 2014 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 23 18:12:49 2014 +0100"
      },
      "message": "updated for version 7.4.157\nProblem:    Error number used twice. (Yukihiro Nakadaira)\nSolution:   Change the one not referred in the docs.\n"
    },
    {
      "commit": "aa88732efd21347587b8b8ce0f37a4042e668f42",
      "tree": "c75296f421a5174da754687bff85501f8d48ceec",
      "parents": [
        "f5a2fd880ae8f6225814209ab73783f65078a4d5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 07 03:04:11 2013 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Nov 07 03:04:11 2013 +0100"
      },
      "message": "updated for version 7.4.074\nProblem:    When undo\u0027ing all changes and creating a new change the undo\n            structure is incorrect. (Christian Brabandt)\nSolution:   When deleting the branch starting at the old header, delete the\n            whole branch, not just the first entry.\n"
    },
    {
      "commit": "f5a2fd880ae8f6225814209ab73783f65078a4d5",
      "tree": "29090d43de4a770e32e36f4b0efeaa5c4e3b6f2f",
      "parents": [
        "4c1e626103397f8ac84ab7ca29cc74d0b3cc06e6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 06 05:26:15 2013 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 06 05:26:15 2013 +0100"
      },
      "message": "updated for version 7.4.073\nProblem:    Setting undolevels for one buffer changes undo in another.\nSolution:   Make \u0027undolevels\u0027 a global-local option. (Christian Brabandt)\n"
    },
    {
      "commit": "3b262393419ddf73e0bce95e0d896c46a95236d9",
      "tree": "84bf8ad9c3e971d2ba11a7c5426a6624805d5e82",
      "parents": [
        "3b7ac49e2672263840b5854402e7d24a7f3a8a23"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 08 15:40:49 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 08 15:40:49 2013 +0200"
      },
      "message": "updated for version 7.4.024\nProblem:    When root edits a file the undo file is owned by root while the\n            edited file may be owned by another user, which is not allowed.\n            (cac2s)\nSolution:   Accept an undo file owned by the current user.\n"
    },
    {
      "commit": "570064cf21091a211d9de50dbfd23304cdf048ee",
      "tree": "4dc9f4f02de6f3d81de608269762a06a0e5a0c61",
      "parents": [
        "a2e14fc764c306cc33fe174707756be70f883319"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 10 20:25:10 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 10 20:25:10 2013 +0200"
      },
      "message": "updated for version 7.3.1160\nProblem:    Mixing long and pointer doesn\u0027t always work.\nSolution:   Avoid cast to pointer.\n"
    },
    {
      "commit": "687a29c5e26b2fa69f3b2cb3504d1fd2f090daf7",
      "tree": "2a4f11718612502ad2da0decb8d36b1e8cf1c3f0",
      "parents": [
        "f6dcbb245b3d808a5d812ac66ce6ca701b1991f2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 15 15:47:12 2013 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 15 15:47:12 2013 +0200"
      },
      "message": "updated for version 7.3.901\nProblem:    Outdated comment, ugly condition.\nSolution:   Update a few comments, break line.\n"
    }
  ],
  "next": "b9ce83e135331d74f09ec094528243f33c3ada85"
}
