)]}'
{
  "log": [
    {
      "commit": "c593bec4120f122e8a9129ec461968f1bd214435",
      "tree": "22369683929b342529fb245d598e4ee9132d917b",
      "parents": [
        "e010c720b2024d8c6df45c60c6001c3b4f157de1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 25 21:26:49 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 25 21:26:49 2020 +0100"
      },
      "message": "patch 8.2.0315: build failure on HP-UX system\n\nProblem:    Build failure on HP-UX system.\nSolution:   Use LONG_LONG_MIN instead of LLONG_MIN.  Add type casts for switch\n            statement. (John Marriott)\n"
    },
    {
      "commit": "f9706e9df0e37d214fb08eda30ba29627e97a607",
      "tree": "9d90ad2977ed759664a2c2d0776901f34a8e0350",
      "parents": [
        "c036e87bd7001238ab7cc5d9e30e59bbf989a5fd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 22 14:27:04 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 22 14:27:04 2020 +0100"
      },
      "message": "patch 8.2.0296: mixing up \"long long\" and __int64 may cause problems\n\nProblem:    Mixing up \"long long\" and __int64 may cause problems. (John\n            Marriott)\nSolution:   Pass varnumber_T to vim_snprintf().  Add v:numbersize.\n"
    },
    {
      "commit": "50985eb1f0bd3c73ce727f9bbd66c839c92ef0da",
      "tree": "e7b8b997f064de0b6b9fb57ee031fa41ef175e56",
      "parents": [
        "3f169ce17e8b779d105c96138a8b4246f2d270b9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 27 22:09:39 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jan 27 22:09:39 2020 +0100"
      },
      "message": "patch 8.2.0159: non-materialized range() list causes problems\n\nProblem:    Non-materialized range() list causes problems. (Fujiwara Takuya)\nSolution:   Materialize the list where needed.\n"
    },
    {
      "commit": "a5d5953d59730d9bf9c00a727c4aeb56f6ffc944",
      "tree": "c5bec5d9cd05b5f9772c98e1313c0594c5003df4",
      "parents": [
        "21b9e9773d64de40994f8762173bdd8befa6acf7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 21:42:03 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 21:42:03 2020 +0100"
      },
      "message": "patch 8.2.0155: warnings from MinGW compiler; tests fail without +float\n\nProblem:    Warnings from MinGW compiler. (John Marriott) Json test fails when\n            building without +float feature.\nSolution:   Init variables. Fix Json parsing. Skip a few tests that require\n            the +float feature.\n"
    },
    {
      "commit": "8a7d6542b33e5d2b352262305c3bfdb2d14e1cf8",
      "tree": "8e5f241129a1c690ea81d697a72fb4c1704c0cb6",
      "parents": [
        "1d9215b9aaa120b9d78fee49488556f73007ce78"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 15:56:19 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 15:56:19 2020 +0100"
      },
      "message": "patch 8.2.0149: maintaining a Vim9 branch separately is more work\n\nProblem:    Maintaining a Vim9 branch separately is more work.\nSolution:   Merge the Vim9 script changes.\n"
    },
    {
      "commit": "9b4a15d5dba354d2e1e02871470bad103f34769a",
      "tree": "e5e49ad3182e07e641cdea0e04c4a8078186c58c",
      "parents": [
        "e05a89ac6399a8c7d164c99fdab6841d999a9128"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 11 16:05:23 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 11 16:05:23 2020 +0100"
      },
      "message": "patch 8.2.0111: VAR_SPECIAL is also used for booleans\n\nProblem:    VAR_SPECIAL is also used for booleans.\nSolution:   Add VAR_BOOL for better type checking.\n"
    },
    {
      "commit": "4ba37b5833de99db9e9afe8928b31c864182405c",
      "tree": "30662897c6ff3d608e47d22f8bab9ce8703b26e7",
      "parents": [
        "2ab2e8608f9b2c85432715bb9a7f226fdbf8cd35"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 04 21:57:43 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 04 21:57:43 2019 +0100"
      },
      "message": "patch 8.1.2388: using old C style comments\n\nProblem:    Using old C style comments.\nSolution:   Use // comments where appropriate.\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": "c61a48d25995e5ee2a3813f64c531b91bb23e9b9",
      "tree": "830a49b721d71dcb58b67a243e886cff90416f27",
      "parents": [
        "29b7d7a9aac591f920edb89241c8cde27378e50b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 22 23:16:33 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 22 23:16:33 2019 +0200"
      },
      "message": "patch 8.1.1735: can\u0027t build with tiny features\n\nProblem:    Can\u0027t build with tiny features.\nSolution:   Add missing #ifdefs.\n"
    },
    {
      "commit": "29b7d7a9aac591f920edb89241c8cde27378e50b",
      "tree": "96368a556edd943bec67f303778bc0c864573860",
      "parents": [
        "e5e6950193ddf365c6c507ddefcd7f9db939e5ac"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 22 23:03:57 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 22 23:03:57 2019 +0200"
      },
      "message": "patch 8.1.1734: the evalfunc.c file is too big\n\nProblem:    The evalfunc.c file is too big.\nSolution:   Move some functions to other files.\n"
    },
    {
      "commit": "b43683729b64f83c39840524be232388314bd71f",
      "tree": "bf0f8e15a52243098dc9a59d8b40c530a2216c6b",
      "parents": [
        "bf0ecb2cb63fb710198d6be742ae4f00fdd2f948"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 27 20:01:41 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 27 20:01:41 2019 +0200"
      },
      "message": "patch 8.1.1409: Coverity warns for using uninitialized memory\n\nProblem:    Coverity warns for using uninitialized memory.\nSolution:   Add a condition to clearing the growarray.\n"
    },
    {
      "commit": "16e9b85113e0b354ece1cb4f5fcc7866850f3685",
      "tree": "2abe4e3cffe8b0281f0690e5570a47eb2198a826",
      "parents": [
        "f5842c5a533346c4ff41ff666e465c85f1de35d5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 19 19:59:35 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 19 19:59:35 2019 +0200"
      },
      "message": "patch 8.1.1355: obvious mistakes are accepted as valid expressions\n\nProblem:    Obvious mistakes are accepted as valid expressions.\nSolution:   Be more strict about parsing numbers. (Yasuhiro Matsumoto,\n            closes #3981)\n"
    },
    {
      "commit": "04af19637c14045fa33b99576de4eea1e3524edb",
      "tree": "8548d69f19d74f118915299f76ce9c33e0ce0f88",
      "parents": [
        "f9b89b467965802b8d14251c0dd944343796edcd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 12 21:19:04 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Apr 12 21:19:04 2019 +0200"
      },
      "message": "patch 8.1.1158: json encoded string is sometimes missing the final NUL\n\nProblem:    Json encoded string is sometimes missing the final NUL.\nSolution:   Add the NUL.  Also for log messages.\n"
    },
    {
      "commit": "fc3abf47fbe1e426f2b676c316c81ee9ff607075",
      "tree": "87b9be7b053e71ee6ec750f7c0f0387e9287d4c0",
      "parents": [
        "135059724f140ceac889c9f8136bd1bf5c41d49d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 15:54:21 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 15:54:21 2019 +0100"
      },
      "message": "patch 8.1.0806: too many #ifdefs\n\nProblem:    Too many #ifdefs.\nSolution:   Graduate FEAT_MBYTE, part 2.\n"
    },
    {
      "commit": "113e10721f42fc2500b63fe95193f8665658a90c",
      "tree": "4395acb733cc8d7a798df8f4a91c5c1afa084841",
      "parents": [
        "1f20daa1d784e2d8ae13db5b9c8abbb648dd2a03"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 20 15:30:40 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 20 15:30:40 2019 +0100"
      },
      "message": "patch 8.1.0785: depending on the configuration some functions are unused\n\nProblem:    Depending on the configuration some functions are unused.\nSolution:   Add more #ifdefs, remove unused functions. (Dominique Pelle,\n            closes #3822)\n"
    },
    {
      "commit": "88c86eb751de9e7e410b405084d35b32fafc2a24",
      "tree": "cf0c456ba4a4f0455fdcae1452e10716ae23a53c",
      "parents": [
        "4131fd5509b283e978e8c6161f09643b64719787"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 17 17:13:30 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 17 17:13:30 2019 +0100"
      },
      "message": "patch 8.1.0766: various problems when using Vim on VMS\n\nProblem:    Various problems when using Vim on VMS.\nSolution:   Various fixes. Define long_long_T. (Zoltan Arpadffy)\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": "6e5ea8d2a995b32bbc5972edc4f827b959f2702f",
      "tree": "b1ad7d6a83f53220227122719d5eb97dd32ff1e6",
      "parents": [
        "e3c74d249ac36404d8af25f74baf335d143b30e3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 12 22:47:31 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 12 22:47:31 2019 +0100"
      },
      "message": "patch 8.1.0735: cannot handle binary data\n\nProblem:    Cannot handle binary data.\nSolution:   Add the Blob type. (Yasuhiro Matsumoto, closes #3638)\n"
    },
    {
      "commit": "5f6b379ff3e34297d171635933f907ec80ed4f05",
      "tree": "3db4bfd51041f31d5920e723fcacb4dfc81dc2ba",
      "parents": [
        "ec9d3001cf6fb4ffe142d34762c774e0066de6bb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 12 14:24:27 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 12 14:24:27 2019 +0100"
      },
      "message": "patch 8.1.0731: JS encoding does not handle negative infinity\n\nProblem:    JS encoding does not handle negative infinity.\nSolution:   Add support for negative infinity for JS encoding. (Dominique\n            Pelle, closes #3792)\n"
    },
    {
      "commit": "d155d7a8519987361169459b8d464ae1caef5e9c",
      "tree": "26d437fd67b33ca1b57aca568d4da40151bc9a81",
      "parents": [
        "162b71479bd4dcdb3a2ef9198a1444f6f99e6843"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 21 16:04:21 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 21 16:04:21 2018 +0100"
      },
      "message": "patch 8.1.0615: get_tv function names are not consistent\n\nProblem:    Get_tv function names are not consistent.\nSolution:   Rename to tv_get.\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": "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": "625f0c1eb75da08229843fa393b1ee4e6547d285",
      "tree": "e1a293c1b2b6779bb236af65f5797583c4393a7b",
      "parents": [
        "ff1e8795772a0175017c4c4f74ce33614ea8e73a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 13 13:10:41 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 13 13:10:41 2018 +0100"
      },
      "message": "patch 8.0.1602: crash in parsing JSON\n\nProblem:    Crash in parsing JSON.\nSolution:   Fail when using array or dict as dict key. (Damien)\n"
    },
    {
      "commit": "b29d328eb403a243431f4d0d5b360b4ac46bbc3e",
      "tree": "9f854ad29aa20a0375794c6189e997d4eb08d2fb",
      "parents": [
        "4697399e8c805325009351a2488e3da530d0af38"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 15 21:25:01 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 15 21:25:01 2017 +0100"
      },
      "message": "patch 8.0.1391: encoding empty string to JSON sometimes gives \"null\"\n\nProblem:    Encoding empty string to JSON sometimes gives \"null\".\nSolution:   Handle NULL string as empty string. (closes #2446)\n"
    },
    {
      "commit": "059b7482a2d9d4cebbf4c01b2b2ea6f1e783cc20",
      "tree": "48278b4312b2ba3eb17626c3be4f51c04d9ad8bb",
      "parents": [
        "2f9e575583c2ad3978ee3d0f790eeff7df56bd6c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 05 16:34:43 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 05 16:34:43 2017 +0100"
      },
      "message": "patch 8.0.0309: cannot use an empty key in json\n\nProblem:    Cannot use an empty key in json.\nSolution:   Allow for using an empty key.\n"
    },
    {
      "commit": "e2c6037da387aad05e4f6bd4a8a6267051d6de04",
      "tree": "c138bdfbc103396f0995c142e23ce475a05b4be4",
      "parents": [
        "e362c3d2c34f2b7ff38b4c3d2a7ff127d2290e09"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 22 15:56:26 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 22 15:56:26 2017 +0100"
      },
      "message": "patch 8.0.0216: decoding js style json may fail\n\nProblem:    When decoding JSON with a JS style object the JSON test may use a\n            NULL pointer. (Coverity)\nSolution:   Check for a NULL pointer.\n"
    },
    {
      "commit": "83381f7129aca00bc2dd24527f160bc6a60d70af",
      "tree": "23fdd9e2ae5d8d6a964d44d827248bc150c374a4",
      "parents": [
        "9be7c04e6cd5b0facedcb56b09a5bcfc339efe03"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 14 14:36:08 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 14 14:36:08 2017 +0100"
      },
      "message": "patch 8.0.0180: error E937 is used twice\n\nProblem:    Error E937 is used both for duplicate key in JSON and for trying\n            to delete a buffer that is in use.\nSolution:   Rename the JSON error to E938. (Norio Takagi, closes #1376)\n"
    },
    {
      "commit": "ee142add229cbcd58bc76d59f23e02517df14379",
      "tree": "5b6252210596b5a331e00ab4a89ea5017fc07a37",
      "parents": [
        "e32abbe42c921c5e521420417abe5bc301e540b3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 11 21:50:08 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 11 21:50:08 2017 +0100"
      },
      "message": "patch 8.0.0171: JS style JSON does not support single quotes\n\nProblem:    JS style JSON does not support single quotes.\nSolution:   Allow for single quotes. (Yasuhiro Matsumoto, closes #1371)\n"
    },
    {
      "commit": "e32abbe42c921c5e521420417abe5bc301e540b3",
      "tree": "a5e4989dc999354c2e221878c23396aa4da01d3c",
      "parents": [
        "8b2f19536ff979046f0d241850f4176a1ce4bca9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 10 22:57:34 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 10 22:57:34 2017 +0100"
      },
      "message": "patch 8.0.0170: crash in channel test\n\nProblem:    Channel test fails for using freed memory.\nSolution:   Fix memory use in json_decode().\n"
    },
    {
      "commit": "8b2f19536ff979046f0d241850f4176a1ce4bca9",
      "tree": "732d72f83afe4598d8ca1437e47f6ce69a93f721",
      "parents": [
        "872004132f25cabe59352912889e042d6c7e6b4e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 10 19:44:18 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 10 19:44:18 2017 +0100"
      },
      "message": "patch 8.0.0169: json_decode() may run out of stack space\n\nProblem:    For complicated string json_decode() may run out of stack space.\nSolution:   Change the recursive solution into an iterative solution.\n"
    },
    {
      "commit": "03c60c1573cdbebbb662863cfc1780d19d511db5",
      "tree": "15d54d07bbb9de9a678b8f5beabc9ed042c5d680",
      "parents": [
        "f446b48ff0bffae2b453cd4f9e3c25dfe363d29d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 10 15:15:37 2017 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 10 15:15:37 2017 +0100"
      },
      "message": "patch 8.0.0166: JSON with a duplicate key gives an internal error\n\nProblem:    JSON with a duplicate key gives an internal error. (Lcd)\nSolution:   Give a normal error.  Avoid an error when parsing JSON from a\n            remote client fails.\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": "98500fdc6119eb5f02d7a52ab6ffcac3085181be",
      "tree": "e48f9e1c38cde2e2b163f584707bdf5408b7436e",
      "parents": [
        "4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 06 14:17:16 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Nov 06 14:17:16 2016 +0100"
      },
      "message": "patch 8.0.0067\nProblem:    VMS has a problem with infinity.\nSolution:   Avoid an overflow. (Zoltan Arpadffy)\n"
    },
    {
      "commit": "de5e2c219b99895445fb75ae3541ee69282a5846",
      "tree": "66c568296d890abef12e5d04f7e62256e28b45e1",
      "parents": [
        "91e44a3305ef6bf2d43496c351dcff0a45c6bfb8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Nov 04 20:35:31 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Nov 04 20:35:31 2016 +0100"
      },
      "message": "patch 8.0.0059\nProblem:    Vim does not build on VMS systems.\nSolution:   Various changes for VMS. (Zoltan Arpadffy)\n"
    },
    {
      "commit": "7756e7465d627ff9cd01e59625484a8c302ef853",
      "tree": "15d6f8773025a03bbf9fa90047321dda0643767b",
      "parents": [
        "bb09ceb95477ecc271854b3fdd8d2776eca66adf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 21 20:35:37 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 21 20:35:37 2016 +0200"
      },
      "message": "patch 8.0.0046\nProblem:    Using NUL instead of NULL.\nSolution:   Change to NULL. (Dominique Pelle)\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": "f1f0792e55e72cdc7c833b30f565a9b02f18bb1e",
      "tree": "0c63bd3971cde94874394587ca3bede776f87abf",
      "parents": [
        "9f28953f0c1e3d9fffd49af76503f54eaa279acb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 26 17:58:53 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 26 17:58:53 2016 +0200"
      },
      "message": "patch 7.4.2258\nProblem:    Two JSON messages are sent without a separator.\nSolution:   Separate messages with a NL. (closes #1001)\n"
    },
    {
      "commit": "22fcfad29276bd5f317faf516637dcd491b96a12",
      "tree": "5787f5e2134b066406fd0d222c4f2f0d18e28024",
      "parents": [
        "8767f52fbfd4f053ce00a978227c95f1d7d323fe"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 18:17:26 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 01 18:17:26 2016 +0200"
      },
      "message": "patch 7.4.1976\nProblem:    Number variables are not 64 bits while they could be.\nSolution:   Add the num64 feature. (Ken Takata)\n"
    },
    {
      "commit": "dc633cf82758f67f656cda7fa8ccc30414ee53f8",
      "tree": "e8a018a83d53136a6891b4ee4d37a8eb4183ce53",
      "parents": [
        "73dfe917ba6357413aaf98a021c91add5ac6e9bc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 23 14:33:19 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 23 14:33:19 2016 +0200"
      },
      "message": "patch 7.4.1780\nProblem:    Warnings reported by cppcheck.\nSolution:   Fix the warnings. (Dominique Pelle)\n"
    },
    {
      "commit": "46c00a6565b8f1f4b7b1041d03eaceaf6ffc4aee",
      "tree": "097071177477e304c3f7e1438c090ba8ff72bfbf",
      "parents": [
        "8038568722a0aad72d001edf4972c29abab57f8f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 28 14:11:42 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 28 14:11:42 2016 +0200"
      },
      "message": "patch 7.4.1666\nProblem:    When reading JSON from a channel all readahead is used.\nSolution:   Use the fill function to reduce overhead.\n"
    },
    {
      "commit": "ba61ac0d61f46de7d29c64bb0de6d25c2e378be0",
      "tree": "73b207b09bb0d57e5a9cf4f80cd514fbace293fd",
      "parents": [
        "ac74d5e86cd16b42e81ba48f58f3d45c72758248"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 20 16:40:37 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 20 16:40:37 2016 +0100"
      },
      "message": "patch 7.4.1617\nProblem:    When a JSON message is split it isn\u0027t decoded.\nSolution:   Wait a short time for the rest of the message to arrive.\n"
    },
    {
      "commit": "1735bc988c546cc962c5f94792815b4d7cb79710",
      "tree": "5d1fcc3e5d0f0d37fa33097c2eacff4cbc2317d4",
      "parents": [
        "9cdf86b86f5fdb5a45b682f336846f9d9a9c6f1f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 14 23:05:14 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 14 23:05:14 2016 +0100"
      },
      "message": "patch 7.4.1559\nProblem:    Passing cookie to a callback is clumsy.\nSolution:   Change function() to take arguments and return a partial.\n"
    },
    {
      "commit": "2588b5a43f049ddf542991050260237051caad77",
      "tree": "f0a0cfadaec5d1469e369439b1014d10c454bb6e",
      "parents": [
        "0ecbe33718b06a3771fd2c65b331c8c9504657d7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 05 23:23:02 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 05 23:23:02 2016 +0100"
      },
      "message": "patch 7.4.1498\nProblem:    Error for locked item when using json_decode(). (Shougo)\nSolution:   Initialize v_lock.\n"
    },
    {
      "commit": "10b369f67064cee91a5eb41383a694162c5c5e73",
      "tree": "10b15eff2f8441cc1358a61e301c27de05c55693",
      "parents": [
        "6b584af3d7337639da27fd847c7c69a406af397e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 29 23:12:49 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 29 23:12:49 2016 +0100"
      },
      "message": "patch 7.4.1467\nProblem:    Can\u0027t build without the float feature.\nSolution:   Add #ifdefs. (Nick Owens, closes #667)\n"
    },
    {
      "commit": "80e78847395b5c8ada7861674774d81bd0a42789",
      "tree": "d888b4d1ed9fac19257d81972b2e60286a662d4c",
      "parents": [
        "b36287283781e09d8874157b9d9bdc5243a2f319"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 28 15:21:13 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 28 15:21:13 2016 +0100"
      },
      "message": "patch 7.4.1446\nProblem:    Crash when using json_decode().\nSolution:   Terminate string with a NUL byte.\n"
    },
    {
      "commit": "b36287283781e09d8874157b9d9bdc5243a2f319",
      "tree": "271d745d77f8a03ba40c33f92c966cf59249bd55",
      "parents": [
        "0f526f5652e0a5432493b3f2a1cb34ab99a9da0a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 28 14:56:39 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 28 14:56:39 2016 +0100"
      },
      "message": "patch 7.4.1445\nProblem:    Memory corruption when \u0027encoding\u0027 is not utf-8.\nSolution:   Convert decoded string later.\n"
    },
    {
      "commit": "0f526f5652e0a5432493b3f2a1cb34ab99a9da0a",
      "tree": "66e9156a6f6d0ef1686a4766803004ef29cba1e3",
      "parents": [
        "dae8d21dd291df6a6679a00be64e18bca0156576"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 22:59:41 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 22:59:41 2016 +0100"
      },
      "message": "patch 7.4.1444\nProblem:    Can\u0027t build with JSON but without multi-byte.\nSolution:   Fix pointer name.\n"
    },
    {
      "commit": "fefecb0fbe14c44d46f91036d76bbb6c28162da8",
      "tree": "72b405825f3d5e2da3acb619a79bae99b092b26f",
      "parents": [
        "f97ddbeb255c64a2b3d9db4b049278cd286070a6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 21:27:20 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 21:27:20 2016 +0100"
      },
      "message": "patch 7.4.1440\nProblem:    Can\u0027t build on Windows.\nSolution:   Change #ifdefs.  Only define isnan when used.\n"
    },
    {
      "commit": "f97ddbeb255c64a2b3d9db4b049278cd286070a6",
      "tree": "5c6409abe9ec0dc3f92777037753c180a2819a99",
      "parents": [
        "c7f0ebc6d1e1cdaed816b88a0d6092c5ace615eb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 21:13:38 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 21:13:38 2016 +0100"
      },
      "message": "patch 7.4.1439\nProblem:    Using uninitialzed variable.\nSolution:   Initialize vc_type.\n"
    },
    {
      "commit": "136f29a91dbafce424e31a4af133155f997e8f78",
      "tree": "c8f62de847e195719732366ec05df2f21f74f000",
      "parents": [
        "e98991b8cfaf29016d14b8ec437d3dedfc0a5eb7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 20:14:15 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 20:14:15 2016 +0100"
      },
      "message": "patch 7.4.1437\nProblem:    Old system doesn\u0027t have isinf() and NAN. (Ben Fritz)\nSolution:   Adjust #ifdefs.  Detect isnan() and isinf() functions with\n            configure. Use a replacement when missing. (Kazunobu Kuriyama)\n"
    },
    {
      "commit": "b6ff81188d27fae774d9ad2dfb498f596d697d4b",
      "tree": "4a1ac0474ae713f4b141df74812532914d76dd68",
      "parents": [
        "85b11769ab507c7df93f319fd964fa579701b76b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 18:41:27 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 18:41:27 2016 +0100"
      },
      "message": "patch 7.4.1434\nProblem:    JSON encoding doesn\u0027t hanel surrogate pair.\nSolution:   Improve multi-byte handling of JSON. (Yasuhiro Matsumoto)\n"
    },
    {
      "commit": "7ce686c990ea8c490d16be7f1c6bd95eb48816f9",
      "tree": "6b507613c77479f9e5a94600bc2a332d657ee363",
      "parents": [
        "d804fdf4c25435284333258856bc265f1ff10b09"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 16:33:22 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 27 16:33:22 2016 +0100"
      },
      "message": "patch 7.4.1430\nProblem:    When encoding JSON, turning NaN and Infinity into null without\n            giving an error is not useful.\nSolution:   Pass NaN and Infinity on.  If the receiver can\u0027t handle them it\n            will generate the error.\n"
    },
    {
      "commit": "3ea0f1ae318db6cd9413914bb2ff824d71cefc6e",
      "tree": "cd03221b14cb13f92b7851a4ac9f86298bd6c931",
      "parents": [
        "f1b6ac72293e658bb6e68c5cfd926c405b1b6f34"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 22:07:32 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 22:07:32 2016 +0100"
      },
      "message": "patch 7.4.1408\nProblem:    MS-Windows doesn\u0027t have isnan() and isinf().\nSolution:   Use _isnan() and _isinf().\n"
    },
    {
      "commit": "f1b6ac72293e658bb6e68c5cfd926c405b1b6f34",
      "tree": "d6013028a0f6cdae4d19bcda1eacebe03a0b53c2",
      "parents": [
        "e16e5a9d8d6d3159107541a259c6823ade18fd08"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 21:26:43 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 23 21:26:43 2016 +0100"
      },
      "message": "patch 7.4.1407\nProblem:    json_encode() does not handle NaN and inf properly. (David\n            Barnett)\nSolution:   For JSON turn them into \"null\".  For JS use \"NaN\" and \"Infinity\".\n            Add isnan().\n"
    },
    {
      "commit": "c6b14f0a8346ec7ddd86f3349d0b861a1b500147",
      "tree": "8be47baa426fa12875c4ee6b5dff5d75ba32e9ea",
      "parents": [
        "663128270e6ea6b529c45ceee4b369734b8b2fdb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 20 15:26:42 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 20 15:26:42 2016 +0100"
      },
      "message": "patch 7.4.1367\nProblem:    Compiler warning for unreachable code.\nSolution:   Remove a \"break\". (Danek Duvall)\n"
    },
    {
      "commit": "7707344ddec9069b495b2a5ed41f2104466fc88b",
      "tree": "9c6b21f811c7c38a89daf010c61453d7d6eaa8da",
      "parents": [
        "e516c39ee97cb85fa230fbb1b1f54ad1346920d9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 13 23:23:53 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 13 23:23:53 2016 +0100"
      },
      "message": "patch 7.4.1315\nProblem:    Using a channel handle does not allow for freeing it when unused.\nSolution:   Add the Channel variable type.\n"
    },
    {
      "commit": "595e64e259faefb330866852e1b9f6168544572a",
      "tree": "87986bc108647e7c597195cea325ca130db69a40",
      "parents": [
        "55fab439a6f3bba6dbe780ac034b84d5822a1a96"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 19:19:53 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 19:19:53 2016 +0100"
      },
      "message": "patch 7.4.1279\nProblem:    jsonencode() is not producing strict JSON.\nSolution:   Add jsencode() and jsdecode().  Make jsonencode() and jsondecode()\n            strict.\n"
    },
    {
      "commit": "55fab439a6f3bba6dbe780ac034b84d5822a1a96",
      "tree": "9ba61a5c778725b73c3f687bcdbd730b89067cbb",
      "parents": [
        "a6f72ba7c6cadd37be38d92008d10a3025fdc5ec"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 16:53:13 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Feb 07 16:53:13 2016 +0100"
      },
      "message": "patch 7.4.1278\nProblem:    When jsonencode() fails it still returns something.\nSolution:   Return an empty string on failure.\n"
    },
    {
      "commit": "4f8b8faec31a934920a723053e8dcf47b6fac08c",
      "tree": "395264314aad30fcea00bbcd059f66d9b2e9687e",
      "parents": [
        "26dfc41335ef47fe765643148ae980be388084ec"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 06 18:42:07 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 06 18:42:07 2016 +0100"
      },
      "message": "patch 7.4.1269\nProblem:    Encoding {\u0027key\u0027:} to JSON doesn\u0027t give an error (Tyru)\nSolution:   Give an error.\n"
    },
    {
      "commit": "4b6a6dcbe7bd13170c4884cc17acb1eac2c633d1",
      "tree": "9d02e26cd34ab973630872b8953d23d0fcb67a54",
      "parents": [
        "a8343c1808f2f268282f3030ce4adaf22e8ade54"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 04 22:49:49 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Feb 04 22:49:49 2016 +0100"
      },
      "message": "patch 7.4.1261\nProblem:    Pending channel messages are garbage collected. Leaking memory in\n            ch_sendexpr().  Leaking memory for a decoded JSON string.\nSolution:   Mark the message list as used. Free the encoded JSON.  Don\u0027t save\n            the JSON string.\n"
    },
    {
      "commit": "fbf9c6b6c3bdb1c2eb42ea8c227e8ee021a7a8f2",
      "tree": "8e231a51b279bc66191294615665cab5056127f5",
      "parents": [
        "8d8c509ac8dea59ad07712971d74afae08521f79"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 02 19:43:57 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 02 19:43:57 2016 +0100"
      },
      "message": "patch 7.4.1243\nProblem:    Compiler warning for uninitialized variable.\nSolution:   Initialize it. (Elias Diem)\n"
    },
    {
      "commit": "56ead341a75e1a0395eee94a3280c67e2278a57e",
      "tree": "52c81e0242666bf75c227a392473bf5ea26cf6dd",
      "parents": [
        "d9ea9069f5ef5b8b9f9e0d0daecdd124e2dcd818"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 02 18:20:08 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 02 18:20:08 2016 +0100"
      },
      "message": "patch 7.4.1238\nProblem:    Can\u0027t handle two messages right after each other.\nSolution:   Find the end of the JSON.  Read more when incomplete.  Add a C\n            test for the JSON decoding.\n"
    },
    {
      "commit": "19d2f1589850d7db1ce77efec052929246f156e2",
      "tree": "be47c6956bd31ba45624e931806243090194b22f",
      "parents": [
        "ca568aeec60dd6cc13b4dcf5cec0e0a07113547f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 01 21:38:19 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Feb 01 21:38:19 2016 +0100"
      },
      "message": "patch 7.4.1231\nProblem:    JSON messages are not parsed properly.\nSolution:   Queue received messages.\n"
    },
    {
      "commit": "fb1f62691eae7c79a28b3b17a60e72ce198c71a2",
      "tree": "92456937dc3d372bf30b97df3c5b5148ea2a8243",
      "parents": [
        "155500077c80cdb5d9c63996000c011b66a676bf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 31 20:24:32 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 31 20:24:32 2016 +0100"
      },
      "message": "patch 7.4.1229\nProblem:    \"eval\" and \"expr\" channel commands don\u0027t work yet.\nSolution:   Implement them.  Update the error numbers.  Also add \"redraw\".\n"
    },
    {
      "commit": "fa06a517b5d5e37f40ab7c884bd334f089988fac",
      "tree": "bb2ebd5961a55c2d39f684f23c13bbc8e9f7a125",
      "parents": [
        "298b440930ecece38d6ea0505a3e582dc817e79b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 28 22:46:58 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 28 22:46:58 2016 +0100"
      },
      "message": "patch 7.4.1192\nProblem:    Can\u0027t build with FEAT_EVAL but without FEAT_MBYTE. (John\n            Marriott)\nSolution:   Add #ifdef for FEAT_MBYTE.\n"
    },
    {
      "commit": "009d84a34f3678ec93921bee3bc05be2fd606264",
      "tree": "1a66c9e49be4785b904504eca20fac9e20609d32",
      "parents": [
        "85be35f33ea848b50e84d57321a45ebfedfad669"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 28 14:12:00 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 28 14:12:00 2016 +0100"
      },
      "message": "patch 7.4.1188\nProblem:    Using older JSON standard.\nSolution:   Update the link.  Adjust the text a bit.\n"
    },
    {
      "commit": "fcaaae6b3fdbf3421a1ff95a25ae16d82381c39a",
      "tree": "897597dbdd77dc91e87b5831a4b5e111adfc75ae",
      "parents": [
        "938ee834d345062cd94f8fdfd54fad0019432a83"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 24 16:49:11 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 24 16:49:11 2016 +0100"
      },
      "message": "patch 7.4.1166\nProblem:    Can\u0027t encode a Funcref into JSON.  jsonencode() doesn\u0027t handle the\n            same list or dict twice properly.  (Nikolay Pavlov)\nSolution:   Give an error.  Reset copyID when the list or dict is finished.\n"
    },
    {
      "commit": "6039c7f05376f0e470cf62bf2757e653aea357f3",
      "tree": "ab4cbced0c4d4ac6c48cdacd4d2472b8b615077f",
      "parents": [
        "17a13437c9414a8693369a97f3be2fc8ad48c12e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 24 15:05:32 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 24 15:05:32 2016 +0100"
      },
      "message": "patch 7.4.1164\nProblem:    No tests for comparing special variables.  Error in jsondecode()\n            not reported.  test_json does not work Japanse system.\nSolution:   Set scriptencoding. (Ken Takata) Add a few more tests. Add error.\n"
    },
    {
      "commit": "bd4593ffb170230504500ddedabad3fad1f31291",
      "tree": "e55829c61c2cb79d967010b07dc83c1adae08c74",
      "parents": [
        "e240c2da796531e807ea9df78bdbcc7b1012870c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 23 22:51:07 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 23 22:51:07 2016 +0100"
      },
      "message": "patch 7.4.1160\nProblem:    No error for jsondecode(\u0027\"\u0027).\nSolution:   Give an error message for missing double quote.\n"
    },
    {
      "commit": "2dedb45260604911035cff2364aca90a69156ed9",
      "tree": "209a72a5e113fa9b65ee8dfeb9ab4f0db2ae3997",
      "parents": [
        "64922b9014765a41bb09e8612433a2a61918af6e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 23 21:38:51 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 23 21:38:51 2016 +0100"
      },
      "message": "patch 7.4.1156\nProblem:    Coverity warns for NULL pointer and ignoring return value.\nSolution:   Check for NULL pointer. When dict_add() returns FAIL free the item.\n"
    },
    {
      "commit": "520e1e41f35b063ede63b41738c82d6636e78c34",
      "tree": "4c6a94e4e8f3f2047b91886077d4ecb916b30401",
      "parents": [
        "6920c72d4d62c8dc5596e9f392e38204f561d7af"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 23 19:46:28 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 23 19:46:28 2016 +0100"
      },
      "message": "patch 7.4.1154\nProblem:    No support for JSON.\nSolution:   Add jsonencode() and jsondecode().  Also add v:false, v:true,\n            v:null and v:none.\n"
    }
  ]
}
