)]}'
{
  "log": [
    {
      "commit": "900894b09a95398dfc75599e9f0aa2ea25723384",
      "tree": "62d287cb3235349c75c60884f280e3c5f47beb5e",
      "parents": [
        "3695d0e41ba26db074dd5680564a6f87d522fb61"
      ],
      "author": {
        "name": "Yee Cheng Chin",
        "email": "ychin.git@gmail.com",
        "time": "Fri Sep 29 20:42:32 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Sep 29 20:42:32 2023 +0200"
      },
      "message": "patch 9.0.1958: cannot complete option values\n\nProblem:  cannot complete option values\nSolution: Add completion functions for several options\n\nAdd cmdline tab-completion for setting string options\n\nAdd tab-completion for setting string options on the cmdline using\n`:set\u003d` (along with `:set+\u003d` and `:set-\u003d`).\n\nThe existing tab completion for setting options currently only works\nwhen nothing is typed yet, and it only fills in with the existing value,\ne.g. when the user does `:set diffopt\u003d\u003cTab\u003e` it will be completed to\n`set diffopt\u003dinternal,filler,closeoff` and nothing else. This isn\u0027t too\nuseful as a user usually wants auto-complete to suggest all the possible\nvalues, such as \u0027iblank\u0027, or \u0027algorithm:patience\u0027.\n\nFor set\u003d and set+\u003d, this adds a new optional callback function for each\noption that can be invoked when doing completion. This allows for each\noption to have control over how completion works. For example, in\n\u0027diffopt\u0027, it will suggest the default enumeration, but if `algorithm:`\nis selected, it will further suggest different algorithm types like\n\u0027meyers\u0027 and \u0027patience\u0027. When using set\u003d, the existing option value will\nbe filled in as the first choice to preserve the existing behavior. When\nusing set+\u003d this won\u0027t happen as it doesn\u0027t make sense.\n\nFor flag list options (e.g. \u0027mouse\u0027 and \u0027guioptions\u0027), completion will\ntake into account existing typed values (and in the case of set+\u003d, the\nexisting option value) to make sure it doesn\u0027t suggest duplicates.\n\nFor set-\u003d, there is a new `ExpandSettingSubtract` function which will\nhandle flag list and comma-separated options smartly, by only suggesting\nvalues that currently exist in the option.\n\nNote that Vim has some existing code that adds special handling for\n\u0027filetype\u0027, \u0027syntax\u0027, and misc dir options like \u0027backupdir\u0027. This change\npreserves them as they already work, instead of converting to the new\ncallback API for each option.\n\ncloses: #13182\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yee Cheng Chin \u003cychin.git@gmail.com\u003e\n"
    },
    {
      "commit": "23a971da506249fc8388f06cd5c011b83406ac5c",
      "tree": "d9db98b1ba14c6f162011a63fb0fbb65c3b17e0c",
      "parents": [
        "cde8de034524d00aba4ff4142e658baff511e12d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 04 22:04:53 2023 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 04 22:04:53 2023 +0100"
      },
      "message": "patch 9.0.1440: \"rvim\" can execute a shell through :diffpatch\n\nProblem:    \"rvim\" can execute a shell through :diffpatch.\nSolution:   Disallow the shell \"patch\" command.\n"
    },
    {
      "commit": "960dcbd098c761dd623bec9492d5391ff6e8dceb",
      "tree": "df2abb6d73be0c31de679fa00251e133a0e99ab6",
      "parents": [
        "14113fdf9cb3d588c0d1c3a210246b981cf5aad3"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Mar 07 17:45:11 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 07 17:45:11 2023 +0000"
      },
      "message": "patch 9.0.1391: \"clear\" macros are not always used\n\nProblem:    \"clear\" macros are not always used.\nSolution:   Use ALLOC_ONE, VIM_CLEAR, CLEAR_POINTER and CLEAR_FIELD in more\n            places. (Yegappan Lakshmanan, closes #12104)\n"
    },
    {
      "commit": "14113fdf9cb3d588c0d1c3a210246b981cf5aad3",
      "tree": "a0f17ad3f6c5b31a0463e452122ba9e5aaa9705a",
      "parents": [
        "663ee88a8260d69d9310e22f2bfdec49af6a102e"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Mar 07 17:13:51 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 07 17:13:51 2023 +0000"
      },
      "message": "patch 9.0.1390: FOR_ALL_ macros are defined in an unexpected file\n\nProblem:    FOR_ALL_ macros are defined in an unexpected file.\nSolution:   Move FOR_ALL_ macros to macros.h.  Add FOR_ALL_HASHTAB_ITEMS.\n            (Yegappan Lakshmanan, closes #12109)\n"
    },
    {
      "commit": "ebfec1c531f32d424bb2aca6e7391ef3bfcbfe20",
      "tree": "d017ab5fcc15f2eef851de089c3b2aef39d7a387",
      "parents": [
        "3d79f0a4309995956bd8889940cca22f7a15881d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 22 21:14:53 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 22 21:14:53 2023 +0000"
      },
      "message": "patch 9.0.1234: the code style has to be checked manually\n\nProblem:    The code style has to be checked manually.\nSolution:   Add basic code style checks in a test.  Fix or avoid uncovered\n            problems.\n"
    },
    {
      "commit": "1cfb14aa972ccf3235ac67f07b7db1175b7c5384",
      "tree": "b746eda548993b9e0987d7c9c0c543ddddc5758f",
      "parents": [
        "765d82a657c5e42d5d7c88ae410e53f398c34c43"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Jan 09 19:04:23 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 09 19:04:23 2023 +0000"
      },
      "message": "patch 9.0.1166: 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 #11792)\n"
    },
    {
      "commit": "465de3a57b815f1188c707e7c083950c81652536",
      "tree": "6a1e8783bb5f269282668c258f0b893bd961a888",
      "parents": [
        "b3d614369fceb891819badc941f80f08f57831f9"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Dec 26 12:50:04 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 26 12:50:04 2022 +0000"
      },
      "message": "patch 9.0.1098: code uses too much indent\n\nProblem:    Code uses too much indent.\nSolution:   Use an early return. (Yegappan Lakshmanan, closes #11747)\n"
    },
    {
      "commit": "e76062c078debed0df818f70e4db14ad7a7cb53a",
      "tree": "e43b3b076fdea909c460219e896237a8924ccb6b",
      "parents": [
        "74a694dbe20bb7dea4e06f474cf62e20f9c92f1d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 28 18:51:43 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 28 18:51:43 2022 +0000"
      },
      "message": "patch 9.0.0965: using one window for executing autocommands is insufficient\n\nProblem:    Using one window for executing autocommands is insufficient.\nSolution:   Use up to five windows for executing autocommands.\n"
    },
    {
      "commit": "a4d158b3c839e96ed98ff87c7b7124ff4518c4ff",
      "tree": "42d3a6b65d4ae53a6e078c8f24a5ee9960e3ad24",
      "parents": [
        "28c9f895716cfa8f1220bc41b72a534c0e10cabe"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 14:17:45 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 14:17:45 2022 +0100"
      },
      "message": "patch 9.0.0206: redraw flags are not named specifically\n\nProblem:    Redraw flags are not named specifically.\nSolution:   Prefix \"UPD_\" to the flags, for UPDate_screen().\n"
    },
    {
      "commit": "101d57b34b72f4fbc7df1b6edfd64c64a6be14fc",
      "tree": "246feb7236973fb7a526652ab5795f49a808e553",
      "parents": [
        "c146d974f13450453a7c1f5ab10b105c515f0ccb"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sun Jul 31 18:34:32 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 31 18:34:32 2022 +0100"
      },
      "message": "patch 9.0.0124: code has more indent than needed\n\nProblem:    Code has more indent than needed.\nSolution:   Use continue and return statements. (closes #10824)\n"
    },
    {
      "commit": "4e677b9c40ccbc5f090971b31dc2fe07bf05541d",
      "tree": "80c6f0dd96f2d82b5ebb9fe0b2e36d1fc5a6c1af",
      "parents": [
        "cb5ed4d6252a7c76c2f85ae95cb1e4e2bccc41fc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 28 18:44:27 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 28 18:44:27 2022 +0100"
      },
      "message": "patch 9.0.0101: invalid memory access in diff mode with \"dp\" and undo\n\nProblem:    Invalid memory access in diff mode with \"dp\" and undo.\nSolution:   Make sure the line number does not go below one.\n"
    },
    {
      "commit": "c5274dd12224421f2430b30c53b881b9403d649e",
      "tree": "5877c6122e443a0ffe127bc39ea13f356fc00cf8",
      "parents": [
        "c6fdb15d423df22e1776844811d082322475e48a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 02 15:10:00 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 02 15:10:00 2022 +0100"
      },
      "message": "patch 9.0.0026: accessing freed memory with diff put\n\nProblem:    Accessing freed memory with diff put.\nSolution:   Bail out when diff pointer is no longer valid.\n"
    },
    {
      "commit": "c101abff4c6756db4f5e740fde289decb9452efa",
      "tree": "26385200c1dd4f3cc47f708d63a897514bc8795e",
      "parents": [
        "cd38bb4d83c942c4bad596835c6766cbf32e5195"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 26 16:53:34 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 26 16:53:34 2022 +0100"
      },
      "message": "patch 8.2.5164: invalid memory access after diff buffer manipulations\n\nProblem:    Invalid memory access after diff buffer manipulations.\nSolution:   Use zero offset when change removes all lines in a diff block.\n"
    },
    {
      "commit": "cd38bb4d83c942c4bad596835c6766cbf32e5195",
      "tree": "c6244fcf54ffc400bcfb6be4337e280ff53cba6f",
      "parents": [
        "0971c7a4e537ea120a6bb2195960be8d0815e97b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 26 14:04:07 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 26 14:04:07 2022 +0100"
      },
      "message": "patch 8.2.5163: crash when deleting buffers in diff mode\n\nProblem:    Crash when deleting buffers in diff mode.\nSolution:   Recompute diffs later.  Skip window without a valid buffer.\n"
    },
    {
      "commit": "31e5c60a682840959cae6273ccadd9aae48c928d",
      "tree": "a72168baa32f1899937f3937a41b0832eac66b8f",
      "parents": [
        "5dc294a7b63ed0e508dd360bc4d98173f1a1aeec"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 15 13:53:33 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 15 13:53:33 2022 +0100"
      },
      "message": "patch 8.2.4753: error from setting an option is silently ignored\n\nProblem:    Error from setting an option is silently ignored.\nSolution:   Handle option value errors better.  Fix uses of N_().\n"
    },
    {
      "commit": "5d46dcfeed4fcbbab371e17e1072b0cc9abe5217",
      "tree": "5d7ffba43376d501d33898ddf3b8672d9c6cfcd8",
      "parents": [
        "03a297c63f1512ba9783104a343dc7e2024e0bb0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 25 14:46:47 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 25 14:46:47 2022 +0000"
      },
      "message": "patch 8.2.4624: old Coverity warning for resource leak\n\nProblem:    Old Coverity warning for resource leak.\nSolution:   Close the file if memory allocation fails.\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": "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": "491669701c72578f273db53e579d8a03a9deac0c",
      "tree": "3e3dd9f83004d9b1747b7a863f0052eb09d84ca3",
      "parents": [
        "8e7cc6b920ddea37deaa5e6b7b3bdfff2222d137"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 30 10:51:45 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 30 10:51:45 2021 +0000"
      },
      "message": "patch 8.2.3943: compiler warning from gcc for uninitialized variable\n\nProblem:    Compiler warning from gcc for uninitialized variable.\nSolution:   Initialize variable. (closes #9429)\n"
    },
    {
      "commit": "febb78fa1798e0f95983b3f7881419a754886df5",
      "tree": "dc127471312decf514a729a7d1cfb028f39e690d",
      "parents": [
        "c97f9a55bd020b94d92c392516d763ed5e43d872"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 29 11:59:53 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 29 11:59:53 2021 +0000"
      },
      "message": "patch 8.2.3931: Coverity reports a memory leak\n\nProblem:    Coverity reports a memory leak.\nSolution:   Free memory in case of failure.\n"
    },
    {
      "commit": "06f6095623cfcc72da08748c058d13b465652fd4",
      "tree": "383d299d0fdfe09e47d7268aa64b67057225c0b6",
      "parents": [
        "7473a84cf935f64ddd4ea7fe7eee0f9c51c50b60"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 28 18:30:05 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 28 18:30:05 2021 +0000"
      },
      "message": "patch 8.2.3925: diff mode confused by NUL bytes\n\nProblem:    Diff mode confused by NUL bytes.\nSolution:   Handle NUL bytes differently. (Christian Brabandt, closes #9421,\n            closes #9418)\n"
    },
    {
      "commit": "d9da86e94ea8dbaa056270a666892945c40a6674",
      "tree": "a27cfef25062c933996cad8c6ca9dab6462a8512",
      "parents": [
        "90c317f2246a7fb4bd4e3feb0778b53627bc9fad"
      ],
      "author": {
        "name": "Lewis Russell",
        "email": "lewis6991@gmail.com",
        "time": "Tue Dec 28 13:54:41 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 28 13:54:41 2021 +0000"
      },
      "message": "patch 8.2.3921: the way xdiff is used is inefficient\n\nProblem:    The way xdiff is used is inefficient.\nSolution:   Use hunk_func instead of the out_line callback. (Lewis Russell,\n            closes #9344)\n"
    },
    {
      "commit": "af4a61a85d6e8cacc35324f266934bc463a21673",
      "tree": "3b2e75b8a36bc8e79d2bc407d929a84b69fd0e0c",
      "parents": [
        "5da36052a4bb0f3a9747ec3a8ab9d85e058e39fa"
      ],
      "author": {
        "name": "Dominique Pelle",
        "email": "dominique.pelle@gmail.com",
        "time": "Mon Dec 27 17:21:41 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 27 17:21:41 2021 +0000"
      },
      "message": "patch 8.2.3914: various spelling mistakes in comments\n\nProblem:    Various spelling mistakes in comments.\nSolution:   Fix the mistakes. (Dominique Pellé, closes #9416)\n"
    },
    {
      "commit": "e124204c4f8ea8b4fe5357b7613092a7acb5feb8",
      "tree": "8a049a292b17314710048a1b17625416c2bfc8d6",
      "parents": [
        "94c785d235dccacf6cdf38c5903115b61ca8a981"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 16 20:56:57 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Dec 16 20:56:57 2021 +0000"
      },
      "message": "patch 8.2.3830: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more error messages to errors.h.\n"
    },
    {
      "commit": "841c225b9ef8c5bdf5e02968a0bd62521fff6ca8",
      "tree": "05e85434a0e81ecede802cf640547dfe2f5e7486",
      "parents": [
        "25def2c8b8bd7b0c3d5f020207c717a880b05d50"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 22 20:56:55 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 22 20:56:55 2021 +0100"
      },
      "message": "patch 8.2.3556: filler lines are incorrect for other window in diff mode\n\nProblem:    Filler lines are incorrect for other window in diff mode after\n            making a change.\nSolution:   Copy filler lines from the current window. (closes #8809)\n"
    },
    {
      "commit": "04626c243c47af91c2580eaf23e12286180e0e81",
      "tree": "0d4a090980e722abfb0cccbc1ea2e3cb0317ee3c",
      "parents": [
        "6631597452d4644f485a09e4036d117e5f91de70"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 01 16:02:07 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 01 16:02:07 2021 +0200"
      },
      "message": "patch 8.2.3394: filler lines are wrong when changing text in diff mode\n\nProblem:    Filler lines are wrong when changing text in diff mode.\nSolution:   Don\u0027t change the filler lines on every change.  Check\n            scrollbinding when updating the filler lines. (closes #8809)\n"
    },
    {
      "commit": "ba02e4720f863fdb456e7023520f0a354eec0dcf",
      "tree": "84db07f22b6ef54c238bc462823703ad11ff3872",
      "parents": [
        "dca29d9cf46cd1d4d4519211c7af78b6b1c56960"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Aug 31 20:46:39 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 31 20:46:39 2021 +0200"
      },
      "message": "patch 8.2.3390: included xdiff code is outdated\n\nProblem:    Included xdiff code is outdated.\nSolution:   Sync with xdiff in git 2.33. (Christian Brabandt, closes #8431)\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": "cd9172077bc8c0aafddf2e5367cc0ae2c00c8ff7",
      "tree": "d460cabb1f58286f763089e7a9552be6c21059f3",
      "parents": [
        "189663bdac1156237c49925f77bd197c1bdea12c"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Wed Jul 21 19:09:09 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 21 19:09:09 2021 +0200"
      },
      "message": "patch 8.2.3194: 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, simplify some. (Yegappan\n            Lakshmanan, closes #8598)\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": "a9a7c0c602b231dc37c4b0f62ade0421c84fca03",
      "tree": "a7e6e2dcad98c9dd2244cf9c368360b71abf61a6",
      "parents": [
        "20c370d9f2ee89cb854054edf71f5004f6efff77"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Jul 17 19:11:07 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 17 19:11:07 2021 +0200"
      },
      "message": "patch 8.2.3173: Vim9: argument types are not checked at compile time\n\nProblem:    Vim9: argument types are not checked at compile time.\nSolution:   Add more type checks. (Yegappan Lakshmanan, closes #8581)\n"
    },
    {
      "commit": "ad5c178a191cf2cf37a27c2a789d7afda3879831",
      "tree": "6ad25f075155d0a6b88064d749f87c763679b382",
      "parents": [
        "f5409dbf66f4e4a0461d3f2079c1bffacbf12392"
      ],
      "author": {
        "name": "glacambre",
        "email": "code@lacamb.re",
        "time": "Mon May 24 14:20:53 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 24 14:20:53 2021 +0200"
      },
      "message": "patch 8.2.2880: unified diff fails if actually used\n\nProblem:    Unified diff fails if actually used.\nSolution:   Invoke :diffupdate in the test.  Fix the check for working external\n            diff. (Ghjuvan Lacambre, Christian Brabandt, closes #8197)\n"
    },
    {
      "commit": "4223d43c0fb6ead1e611e4469a1680a9228b6015",
      "tree": "0eb28a94ec186e4f0306f6aaae79743bd6e9b99d",
      "parents": [
        "963ffa0a5a6091655ed72b4590ec5d5a1653bce8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 10 13:18:17 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 10 13:18:17 2021 +0100"
      },
      "message": "patch 8.2.2490: \u0027wrap\u0027 option is always reset when starting diff mode\n\nProblem:    \u0027wrap\u0027 option is always reset when starting diff mode.\nSolution:   Add the \"followwrap\" item in \u0027diffopt\u0027. (Rick Howe, closes #7797)\n"
    },
    {
      "commit": "e10044015841711b989f9a898d427bcc1fdb4c32",
      "tree": "256dbf4f826bbc408bb1eca2b381c4dc4f953eb6",
      "parents": [
        "5661ed6c833e05467cab33cb9b1c535e7e5cc570"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 24 20:49:43 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Oct 24 20:49:43 2020 +0200"
      },
      "message": "patch 8.2.1898: command modifier parsing always uses global cmdmod\n\nProblem:    Command modifier parsing always uses global cmdmod.\nSolution:   Pass in cmdmod_T to use.  Rename struct fields consistently.\n"
    },
    {
      "commit": "59de417b904bbd204e313f015839317b577bd124",
      "tree": "4ebd73ce6e4ccd65b8a595f388c4535d81387319",
      "parents": [
        "dcf59c37d0e1517439c4c0c4a6a5ca09c90157ad"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 09 19:34:54 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 09 19:34:54 2020 +0200"
      },
      "message": "patch 8.2.0938: NFA regexp uses tolower ()to compare ignore-case\n\nProblem:    NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs)\nSolution:   Use utf_fold() when possible. (ref. neovim #12456)\n"
    },
    {
      "commit": "df44a27b53586fccfc6a3aedc89061fdd9a515ff",
      "tree": "2d0ca2790b3e106a7d8f059951160789167a17a1",
      "parents": [
        "da84ac2a6f467d0b9eddcc8709433cda75d16a41"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 07 20:49:05 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 07 20:49:05 2020 +0200"
      },
      "message": "patch 8.2.0928: many type casts are used for vim_strnsave()\n\nProblem:    Many type casts are used for vim_strnsave().\nSolution:   Make the length argument size_t instead of int. (Ken Takata,\n            closes #5633)  Remove some type casts.\n"
    },
    {
      "commit": "ca70c07b72c24aae3d141e67d08f50361f051af5",
      "tree": "98b26c267d6924c2a7464e08dc9fcacdd94d771f",
      "parents": [
        "d6cd5ffade84a1054fed23079133af3b837033bf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 20:30:46 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 20:30:46 2020 +0200"
      },
      "message": "patch 8.2.0853: ml_delete() often called with FALSE argument\n\nProblem:    ml_delete() often called with FALSE argument.\nSolution:   Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE.\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": "aeea72151c31d686bcbb7b06d895006d7363585c",
      "tree": "500d487503a1a82cecc8f2a3e9bf89b50638fe5a",
      "parents": [
        "f10806b25090879fdc1a86cc0da2f4f34fd21921"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 02 18:50:46 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Apr 02 18:50:46 2020 +0200"
      },
      "message": "patch 8.2.0500: using the same loop in many places\n\nProblem:    Using the same loop in many places.\nSolution:   Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339)\n"
    },
    {
      "commit": "5d18efecfd6c45d69f55268948a22cd0465bb955",
      "tree": "409afa09cb7fb8f4684e0399f2597ba5d16edbfa",
      "parents": [
        "fa5612c7d836eb789e0f8ff4b10461b8640a14b2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 01 21:11:22 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 01 21:11:22 2019 +0100"
      },
      "message": "patch 8.1.2378: using old C style comments\n\nProblem:    Using old C style comments.\nSolution:   Use // comments where appropriate.\n"
    },
    {
      "commit": "f4a1d1c0542df151bc59ac3b798ed198b5c71ccc",
      "tree": "9f6051c5c5e75c7f113a923f7888f0f272ddee9e",
      "parents": [
        "ab85ca4e6a40b2998db7b00896505486f5c16b41"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 16 13:50:25 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 16 13:50:25 2019 +0100"
      },
      "message": "patch 8.1.2302: :lockmarks does not work for \u0027[ and \u0027]\n\nProblem:    :lockmarks does not work for \u0027[ and \u0027].\nSolution:   save and restore \u0027[ and \u0027] marks. (James McCoy, closes #5222)\n"
    },
    {
      "commit": "c8234779790dd873acb88331c50988adf94cc383",
      "tree": "d3e58b31d9e4593956cd028e4468051ce3d79dfc",
      "parents": [
        "5c6b6187ac51a4d8545e823c1be6cdf70cac8a57"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 10 21:00:27 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 10 21:00:27 2019 +0100"
      },
      "message": "patch 8.1.2289: after :diffsplit closing the window does not disable diff\n\nProblem:    After :diffsplit closing the window does not disable diff.\nSolution:   Add \"closeoff\" to \u0027diffopt\u0027 and add it to the default.\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": "1614a14901558ca091329315d14a7d5e1b53aa47",
      "tree": "324ceeba0f8d5bda2f270b591a1beeed8e74125d",
      "parents": [
        "524f3b19ae16e08350010b5effe38d0637349285"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 06 22:00:13 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 06 22:00:13 2019 +0200"
      },
      "message": "patch 8.1.2120: some MB_ macros are more complicated than necessary\n\nProblem:    Some MB_ macros are more complicated than necessary. (Dominique\n            Pelle)\nSolution:   Simplify the macros.  Expand inline.\n"
    },
    {
      "commit": "af7645d3733fdd3cd2df03ec7b653601d26969ef",
      "tree": "1b3c3d1d0d6428c33026693a5086910cca8b3078",
      "parents": [
        "8d3b51084a5bdcd2ee9e31bc03cba0d16c43d428"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 05 22:33:28 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 05 22:33:28 2019 +0200"
      },
      "message": "patch 8.1.1989: the evalfunc.c file is still too big\n\nProblem:    The evalfunc.c file is still too big.\nSolution:   Move f_pathshorten() to filepath.c.  Move f_cscope_connection() to\n            if_cscope.c.  Move diff_ functions to diff.c.  Move timer_\n            functions to ex_cmds2.c.  move callback functions to evalvars.c.\n"
    },
    {
      "commit": "4f57eefe1e84b5a90e08474092ea6fc8825ad5c9",
      "tree": "5afd78a40e21a0375a423acbf3ef990e32ac0cd6",
      "parents": [
        "a4208966fb289a505ebdef62bbc37c214069bab4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 24 20:54:19 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 24 20:54:19 2019 +0200"
      },
      "message": "patch 8.1.1922: in diff mode global operations can be very slow\n\nProblem:    In diff mode global operations can be very slow.\nSolution:   Do not call diff_redraw() many times, call it once when redrawing.\n            And also don\u0027t update folds multiple times.\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": "20c023aee0ceafac9431fb8ab8d169747b5140dd",
      "tree": "479954fa4e6886dbc3bef40cb00569ae6cf440dc",
      "parents": [
        "9d591525a5d7a693aa47b4a87c5f53c503500c1c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 26 21:03:24 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 26 21:03:24 2019 +0200"
      },
      "message": "patch 8.1.1405: \"highlight\" option of popup windows not supported\n\nProblem:    \"highlight\" option of popup windows not supported.\nSolution:   Implement the \"highlight\" option.\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": "975880b6e6de473b512995ef87ce072aaca934cf",
      "tree": "d13ee3177bfa632013b01ff00c93315f8dbbb2ce",
      "parents": [
        "e21c1580b7acb598a6e3c38565434fe5d0e2ad7a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 03 14:42:11 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 03 14:42:11 2019 +0100"
      },
      "message": "patch 8.1.0991: cannot build with a mix of features\n\nProblem:    Cannot build with FEAT_EVAL defined and FEAT_SEARCH_EXTRA\n            undefined, and with FEAT_DIFF defined and FEAT_EVAL undefined.\nSolution:   Add a couple of #ifdefs. (closes #4067)\n"
    },
    {
      "commit": "b9ddda6c2d98d99c09d58145c1b5b4042a8fd92c",
      "tree": "b9ad408dfdd16ffd01276e8b583ff208133bf153",
      "parents": [
        "66ae3d199fdcd732eb79266e913e4e6d2e82ee76"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 19 23:00:50 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 19 23:00:50 2019 +0100"
      },
      "message": "patch 8.1.0956: using context:0 in \u0027diffopt\u0027 does not work well\n\nProblem:    Using context:0 in \u0027diffopt\u0027 does not work well.\nSolution:   Make zero context do the same as one line context. (closes #4005)\n"
    },
    {
      "commit": "00590740081489db69f43d9f1c0e3f70e29ce6da",
      "tree": "5200046e5c39885c50b5057cca9110975a629eb5",
      "parents": [
        "e93e5a504f481bd0dad9c504d5fcf0e5f0dfc6e6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 15 21:06:09 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 15 21:06:09 2019 +0100"
      },
      "message": "patch 8.1.0927: USE_CR is never defined\n\nProblem:    USE_CR is never defined.\nSolution:   Remove usage of USE_CR. (Ken Takata, closes #3958)\n"
    },
    {
      "commit": "135059724f140ceac889c9f8136bd1bf5c41d49d",
      "tree": "64a9fc867701c8cdd596130cdab2d92129920bd7",
      "parents": [
        "4b9e91f0ba02192e4592a5c4a9bdcdd6e9efeb5e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 15:04:48 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 15:04:48 2019 +0100"
      },
      "message": "patch 8.1.0805: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_MBYTE, part 1.\n"
    },
    {
      "commit": "b5443cc46dd1485d6c785dd8c65a2c07bd5a17f3",
      "tree": "0d666a666cf4f5bea6b3afdf8a60059e5991ab8c",
      "parents": [
        "8e481e8dfe0b82930faf005c7e840c49cbcf4511"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 15 20:19:40 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 15 20:19:40 2019 +0100"
      },
      "message": "patch 8.1.0753: printf format not checked for semsg()\n\nProblem:    printf format not checked for semsg().\nSolution:   Add GNUC attribute and fix reported problems. (Dominique Pelle,\n            closes #3805)\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": "b6fc72851c45a36a370f9516c68508e47b41c4c1",
      "tree": "7da05b1356fc904ee84d4a41f894d84b9fa1689e",
      "parents": [
        "97195685334c800c5ad1328d957d1bf21f5fa1fa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 04 22:24:16 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Dec 04 22:24:16 2018 +0100"
      },
      "message": "patch 8.1.0562: parsing of \u0027diffopt\u0027 is slightly wrong\n\nProblem:    Parsing of \u0027diffopt\u0027 is slightly wrong.\nSolution:   Fix the parsing and add a test. (Jason Franklin, Christian\n            Brabandt)\n"
    },
    {
      "commit": "d0721058f494143186f66a60151c9634031a8c96",
      "tree": "3c47ba880d622c5571b370bbbe7923f44c91b485",
      "parents": [
        "389ab7122bec99c11ad4ce6d87cc6f38a21e4e40"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 05 21:21:33 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Nov 05 21:21:33 2018 +0100"
      },
      "message": "patch 8.1.0513: no error for set diffopt+\u003dalgorithm:\n\nProblem:    No error for set diffopt+\u003dalgorithm:.\nSolution:   Check for missing argument. (Hirohito Higashi, closes #3598)\n"
    },
    {
      "commit": "f080d70a82f3a4477f346d9efcdfaec1bc1e1d58",
      "tree": "026984ece20253103637569f07b3f8f1e8d23895",
      "parents": [
        "a9a8e04eab106c1d21381f79f8965fe50b94e235"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 31 22:57:26 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 31 22:57:26 2018 +0100"
      },
      "message": "patch 8.1.0502: internal diff fails when diffing a context diff\n\nProblem:    Internal diff fails when diffing a context diff. (Hirohito Higashi)\nSolution:   Only use callback calls with one line. (closes #3581)\n"
    },
    {
      "commit": "5f57bdcab77bc417ae0357fe8ad6c7259b6d25df",
      "tree": "f05f00dee1abb6472935bddc2adcfd74a3ec14ed",
      "parents": [
        "c0fe4978f2311be9a0221d4c2369251c719b399a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 25 17:52:23 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 25 17:52:23 2018 +0200"
      },
      "message": "patch 8.1.0497: :%diffput changes order of lines\n\nProblem:    :%diffput changes order of lines. (Markus Braun)\nSolution:   Do adjust marks when using internal diff.\n"
    },
    {
      "commit": "df77cef92ec034796723ffa3adb12e8b46daa98e",
      "tree": "b7106c402d4d687ede7623fcb1b954e5b879f8c4",
      "parents": [
        "0cc7b2d6ccc79d6ce69f5405f9914a42cb4f615e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 07 17:46:42 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Oct 07 17:46:42 2018 +0200"
      },
      "message": "patch 8.1.0458: ml_get error and crash when using \"do\"\n\nProblem:    Ml_get error and crash when using \"do\".\nSolution:   Adjust cursor position also when diffupdate is not needed.\n            (Hirohito Higashi)\n"
    },
    {
      "commit": "198fa066b2ec011e91012c1a3d85a73df7b93f31",
      "tree": "c6d89bae21680e07f70a481f8cc1d0860add4e4e",
      "parents": [
        "110bd60985c31e8978e9b071e2179f4233ef8557"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 18 21:20:26 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 18 21:20:26 2018 +0200"
      },
      "message": "patch 8.1.0402: the DiffUpdate event isn\u0027t triggered for :diffput\n\nProblem:    The DiffUpdate event isn\u0027t triggered for :diffput.\nSolution:   Also trigger DiffUpdate for :diffget and :diffput.\n"
    },
    {
      "commit": "d2b58c0a2c665075a8cfef57db6e1b37d4523e02",
      "tree": "afabdf9dd96f05d7d4ac008929846d1f09f6721f",
      "parents": [
        "65985ac998713dfe0f0ff1dd49c5e3e8f17f4870"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 16 18:10:48 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 16 18:10:48 2018 +0200"
      },
      "message": "patch 8.1.0400: using freed memory with :diffget\n\nProblem:    Using freed memory with :diffget.\nSolution:   Skip ex_diffupdate() while updating diffs. (closes #3442)\n"
    },
    {
      "commit": "e8fa05b5bc2d6d76bf5af50176a63655d00d1110",
      "tree": "f044f8dd892e26a8edec54754043668b64b512ca",
      "parents": [
        "42c63356d774bbfe91712197e8969f60de828a32"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 16 15:48:06 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 16 15:48:06 2018 +0200"
      },
      "message": "patch 8.1.0397: no event triggered after updating diffs\n\nProblem:    No event triggered after updating diffs.\nSolution:   Add the DiffUpdated event.\n"
    },
    {
      "commit": "6e272acc82af900318017061f923e7f66dc7ee7a",
      "tree": "dccedf1934e5471fa11b0b49496eadef886789d5",
      "parents": [
        "e3521d9cbb786806eaff106707851d37d2c0ecef"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 16 14:51:36 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 16 14:51:36 2018 +0200"
      },
      "message": "patch 8.1.0395: compiler warning on 64-bit MS-Windows\n\nProblem:    Compiler warning on 64-bit MS-Windows.\nSolution:   Add type cast. (Mike Williams)\n"
    },
    {
      "commit": "e3521d9cbb786806eaff106707851d37d2c0ecef",
      "tree": "37457955339b93a9bd1410491b2a1f1e9bea2b72",
      "parents": [
        "785fc6567f572b8caefbc89ec29bbd8b801464ae"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 16 14:10:31 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 16 14:10:31 2018 +0200"
      },
      "message": "patch 8.1.0394: diffs are not always updated correctly\n\nProblem:    Diffs are not always updated correctly.\nSolution:   When using internal diff update for any changes properly.\n"
    },
    {
      "commit": "785fc6567f572b8caefbc89ec29bbd8b801464ae",
      "tree": "6a8199c4bbc17a5cc65e4c4dfebded963a146fc7",
      "parents": [
        "50eb16c3b23235b21ce4494673a7741a9a196176"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 15 19:17:38 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 15 19:17:38 2018 +0200"
      },
      "message": "patch 8.1.0393: not all white space difference options available\n\nProblem:    Not all white space difference options available.\nSolution:   Add \"iblank\", \"iwhiteall\" and \"iwhiteeol\" to \u0027diffopt\u0027.\n"
    },
    {
      "commit": "42335f50bc6fac444a8af74c81df8369d722a6fb",
      "tree": "fc6596503a515a25a7c2a046321108642848b935",
      "parents": [
        "c787539747f6bb2510a56aa14dbf6808aff5681a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 13 15:33:43 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 13 15:33:43 2018 +0200"
      },
      "message": "patch 8.1.0377: xdiff doesn\u0027t use the Vim memory allocation functions\n\nProblem:    Xdiff doesn\u0027t use the Vim memory allocation functions.\nSolution:   Change the xdl_ defines.  Check for out-of-memory.  Rename\n            \"ignored\" to \"vim_ignored\".\n"
    },
    {
      "commit": "3b8defd0a52fc1276816608e7bb24b628ab14c2e",
      "tree": "51274af65eed16671abb4eceb00a7949c6f16699",
      "parents": [
        "bd9a53c06c8869ad811cb3dd01a309c9be7d7a63"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 13 13:03:11 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 13 13:03:11 2018 +0200"
      },
      "message": "patch 8.1.0375: cannot use diff mode with Cygwin diff.exe\n\nProblem:    Cannot use diff mode with Cygwin diff.exe. (Igor Forca)\nSolution:   Skip over unrecognized lines in the diff output.\n"
    },
    {
      "commit": "274cea35c6d409cfb16862ff24e789b2d3ea3ee3",
      "tree": "10455d79ab477a8c61a51a6116b0f0077aba2806",
      "parents": [
        "67f8ab829911c7901c534ef2bf19cc34b622936f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 12 18:00:12 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 12 18:00:12 2018 +0200"
      },
      "message": "patch 8.1.0370: not using internal diff if \u0027diffopt\u0027 is not changed\n\nProblem:    Not using internal diff if \u0027diffopt\u0027 is not changed.\nSolution:   Correct initialization of diff_flags. (Christian Brabandt)\n"
    },
    {
      "commit": "e828b7621cf9065a3582be0c4dd1e0e846e335bf",
      "tree": "79cf05b6295837108fb6edbbc154e333c940698a",
      "parents": [
        "93a1df2c205c8399d96c172d9483e0793d32892a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 10 17:51:58 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 10 17:51:58 2018 +0200"
      },
      "message": "patch 8.1.0360: using an external diff program is slow and inflexible\n\nProblem:    Using an external diff program is slow and inflexible.\nSolution:   Include the xdiff library. (Christian Brabandt, closes #2732)\n            Use it by default.\n"
    },
    {
      "commit": "f273245f6433d5d43a5671306b520a3230c35787",
      "tree": "958293fed4c59ee0cb91a491c8c0e32aa0e618c2",
      "parents": [
        "33c5e9fa7af935c61a8aac461b9664c501003440"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 03 14:47:35 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 03 14:47:35 2018 +0200"
      },
      "message": "patch 8.1.0027: difficult to make a plugin that feeds a line to a job\n\nProblem:    Difficult to make a plugin that feeds a line to a job.\nSolution:   Add the nitial code for the \"prompt\" buftype.\n"
    },
    {
      "commit": "c36651b4b946333dce0a916326d821d2562cf39d",
      "tree": "9bda30e7d6d0719595e66c123985c6d064fef793",
      "parents": [
        "29ce409bfca52bb8a07e2975d06fd788458e9861"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 29 12:22:56 2018 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 29 12:22:56 2018 +0200"
      },
      "message": "patch 8.0.1773: dialog messages are not translated\n\nProblem:    Dialog messages are not translated.\nSolution:   Add N_() and _() where needed. (Sergey Alyoshin)\n"
    },
    {
      "commit": "8a3bb56230d220b8e1b4dcca517ed95f5341b8c7",
      "tree": "e1d195050f92f44fc1993ca016c07611cb6faaa7",
      "parents": [
        "107279c17b3a21899e0a9d0293ada040216539ba"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 04 20:14:14 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 04 20:14:14 2018 +0100"
      },
      "message": "patch 8.0.1566: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_SCROLLBIND and FEAT_CURSORBIND.\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": "97ce419201421f65f4764549ed80307a7ef9c7a6",
      "tree": "0ba380c7872e3fed3b109a4af087b7c3b4417e73",
      "parents": [
        "76bb7196f5102c9929959d710e8ed97a19affa4d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 01 20:35:58 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 01 20:35:58 2017 +0100"
      },
      "message": "patch 8.0.1361: some users don\u0027t want to diff with hidden buffers\n\nProblem:    Some users don\u0027t want to diff with hidden buffers.\nSolution:   Add the \"hiddenoff\" item to \u0027diffopt\u0027. (Alisue, closes #2394)\n"
    },
    {
      "commit": "6e32f615eb824048a98666d1da4416bbeb7b2bed",
      "tree": "17b9847dfa5048b9f5d7c0a848ba5765dda54868",
      "parents": [
        "11aa62f8f949bb590b4d7792a334885fba5e4137"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 04 23:21:07 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Sep 04 23:21:07 2017 +0200"
      },
      "message": "patch 8.0.1056: cannot build with +diff but without +multi_byte\n\nProblem:    Cannot build with the diff feature but without the mutli-byte\n            feature.\nSolution:   Remove #ifdefs. (John Marriott)\n"
    },
    {
      "commit": "ae96b8d058cffd9d07b78cb7a9ccd382185b9dd6",
      "tree": "883e83fc0f48ff9f51819d773d0abb948ccdcc43",
      "parents": [
        "6a8691d483914606213a24356a9124fa41c93b69"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 03 15:04:21 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 03 15:04:21 2017 +0200"
      },
      "message": "patch 8.0.1046: code duplication in diff mode\n\nProblem:    Code duplication in diff mode.\nSolution:   Use diff_equal_char() also in diff_cmp(). (Rick Howe)\n"
    },
    {
      "commit": "da22b8cc8b1b96fabd5a4c35c57b04a351340fb1",
      "tree": "1f3b1aa24674d76a16b03c3d12d447d1c2b9cb25",
      "parents": [
        "dada6d2a8e887309e88cb126f1251d81f91b4b9d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 02 18:01:50 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 02 18:01:50 2017 +0200"
      },
      "message": "patch 8.0.1037: \"icase\" of \u0027diffopt\u0027 is not used for highlighting\n\nProblem:    \"icase\" of \u0027diffopt\u0027 is not used for highlighting differences.\nSolution:   Also use \"icase\". (Rick Howe)\n"
    },
    {
      "commit": "04f62f881c5743d2fdaf7324f6a715381f0d5fcf",
      "tree": "f2db897422696463e859521127d9a6878f354efe",
      "parents": [
        "a8788f4d0b991f466b607c2c5bc6fd600bc78a97"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 19 18:18:39 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 19 18:18:39 2017 +0200"
      },
      "message": "patch 8.0.0736: OptionSet not triggered when entering diff mode\n\nProblem:    The OptionSet autocommand event is not triggered when entering\n            diff mode.\nSolution:   use set_option_value() instead of setting the option directly.\n            Change the tests from old to new style. (Christian Brabandt)\n"
    },
    {
      "commit": "79a213d6a4e909703524a7f1ad985c7bd40650a6",
      "tree": "0bfee87d433fa76ec2ec876c402f97ebc2bc8006",
      "parents": [
        "9e0f6ec0762575d229b86798b284ca4876bc3d73"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 16 13:15:18 2017 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 16 13:15:18 2017 +0200"
      },
      "message": "patch 8.0.0599: diff mode is insufficiently tested\n\nProblem:    diff mode is insufficiently tested\nSolution:   Add more test cases. (Dominique Pelle, closes #1685)\n"
    },
    {
      "commit": "1c46544412382db8b3203d6c78e550df885540bd",
      "tree": "d4dc51020d3ebdbee4548b0d5628221f921af2f3",
      "parents": [
        "91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 20:10:05 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 12 20:10:05 2017 +0100"
      },
      "message": "patch 8.0.0452: some macros are in lower case\n\nProblem:    Some macros are in lower case.\nSolution:   Make a few more macros upper case.\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": "a95ab321200f0239991bf53756b17cd7b90745f9",
      "tree": "6485aa8f07294fdda7cc42dff6fb948cbff23a0e",
      "parents": [
        "38a3d6c9601b637a28f399059263300e9f65eba4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 11 19:21:53 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 11 19:21:53 2017 +0100"
      },
      "message": "patch 8.0.0444: diffpatch fails when the file name has a quote\n\nProblem:    Diffpatch fails when the file name has a quote.\nSolution:   Escape the name properly. (zetzei)\n"
    },
    {
      "commit": "1ef73e33c9414eb02c229d8234aafd9d481a8856",
      "tree": "ea8c934b8f2e1d109ab7bce70074bf0bde5dda09",
      "parents": [
        "ad2cfb54b78523435b31de7234081ff70a53e736"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 09 19:21:30 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 09 19:21:30 2017 +0100"
      },
      "message": "patch 8.0.0442: patch shell command not well escaped\n\nProblem:    Patch shell command uses double quotes around the argument, which\n            allows for $HOME to be expanded. (Etienne)\nSolution:   Use single quotes on Unix. (closes #1543)\n"
    },
    {
      "commit": "a6c07603ca2fa98a4184f5fd5ab021adcf5156b2",
      "tree": "fd78ab3e8ea373d8bf6b3f4e398e71f03681fee9",
      "parents": [
        "f7e894dfb60b6fd8f426aa3da1452803f8de010c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 05 21:18:27 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 05 21:18:27 2017 +0100"
      },
      "message": "patch 8.0.0425: build errors when building without folding\n\nProblem:    Build errors when building without folding.\nSolution:   Add #ifdefs. (John Marriott)\n"
    },
    {
      "commit": "25ea0544587dd45088512fec9d7a685e35fea679",
      "tree": "0038abd019ded330eb77ba548b1bbd24a343f1b3",
      "parents": [
        "6b40f303291be6b2fe524b5708e089773048c269"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 03 23:16:28 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 03 23:16:28 2017 +0100"
      },
      "message": "patch 8.0.0300: cannot stop diffing hidden buffers\n\nProblem:    Cannot stop diffing hidden buffers. (Daniel Hahler)\nSolution:   When using :diffoff! make the whole list if diffed buffers empty.\n            (closes #736)\n"
    },
    {
      "commit": "025e3e0bafbc85cc4e365145af711edf99d0a90d",
      "tree": "0bbd3a565a44576e714d9f8c7c85fd5e6255ad9b",
      "parents": [
        "9ec7fa82a2c4f0283862ed704c2940959e6130ee"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 18 14:50:18 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Oct 18 14:50:18 2016 +0200"
      },
      "message": "patch 8.0.0044\nProblem:    In diff mode the cursor may end up below the last line, resulting\n            in an ml_get error.\nSolution:   Check the line to be valid.\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": "46328f9a1cc8047d1e05095bc9f531038c5a4028",
      "tree": "6c304ad0ec0fdaafa7e4e490681a959f36ad46f2",
      "parents": [
        "4427db9bb2f4b4587559eac18cc7ba10c52c6e8b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 28 15:39:57 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 28 15:39:57 2016 +0200"
      },
      "message": "patch 7.4.2279\nProblem:    Starting diff mode with the cursor in the last line might end up\n            only showing one closed fold. (John Beckett)\nSolution:   Scroll the window to show the same relative cursor position.\n"
    },
    {
      "commit": "e67d546f3c691139e6d3d33f36724d98aec04c14",
      "tree": "8d990c67d29e4085dcb259b43dad3bf76833b05c",
      "parents": [
        "818078ddfbb8cc2546f697c5675a251d095722ec"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 27 22:40:42 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 27 22:40:42 2016 +0200"
      },
      "message": "patch 7.4.2275\nProblem:    \":diffoff!\" does not remove filler lines.\nSolution:   Force a redraw and invalidate the cursor. (closes #1014)\n"
    },
    {
      "commit": "89eaa4185efacab253b23a182c1c8a7bbf1096c9",
      "tree": "cb8ed611f3dfdd5bf9687cd89b2bd3ab91dad5ef",
      "parents": [
        "b54c3ff3174dbb5dfbfcabdf95200b047beaa644"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 31 14:17:27 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 31 14:17:27 2016 +0200"
      },
      "message": "patch 7.4.2135\nProblem:    Various tiny issues.\nSolution:   Update comments, white space, etc.\n"
    },
    {
      "commit": "2932359000b2f918d5fade79ea4d124d5943cd07",
      "tree": "1ca4fa98569a4d20ce066c7d6254404bcf431b47",
      "parents": [
        "6835dc61aebca2b602d85a9d63c449ace58683b4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 24 22:04:11 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 24 22:04:11 2016 +0200"
      },
      "message": "patch 7.4.2101\nProblem:    Looping over windows, buffers and tab pages is inconsistant.\nSolution:   Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)\n"
    },
    {
      "commit": "7c0a2f367f2507669560b1a66423155c70d2e75b",
      "tree": "7cd0523311a25f653497197abc1fa86ed62bcc79",
      "parents": [
        "ea3f2e7be447a8f0c4436869620f908de5e8ef1e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 10 22:11:16 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 10 22:11:16 2016 +0200"
      },
      "message": "patch 7.4.2024\nProblem:    More buf_valid() calls can be optimized.\nSolution:   Use bufref_valid() instead.\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": "f1d2501ebe33e148886c2914acd33140e20ee222",
      "tree": "49e0f2df5cf7358f4bbd4f5ec25a2359753ca671",
      "parents": [
        "00ded43a5a85df57abb74f9e3a38a401f6fbd8fd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 12:22:53 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 03 12:22:53 2016 +0100"
      },
      "message": "patch 7.4.1476\nProblem:    Function arguments marked as unused while they are not.\nSolution:   Remove UNUSED. (Yegappan Lakshmanan)\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": "7454a06e2642d2b37afad1c5e71cec68081ca4ff",
      "tree": "8b38e652321d9591a2f57e44b9bdc1f590837f7b",
      "parents": [
        "305598b71261265994e2846b4ff4a4d8efade280"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 15:14:10 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 15:14:10 2016 +0100"
      },
      "message": "patch 7.4.1205\nProblem:    Using old style function declarations.\nSolution:   Change to new style function declarations. (script by Hirohito\n            Higashi)\n"
    }
  ],
  "next": "f28dbcea371b3a35727d91afc90fb90e0527d78a"
}
