)]}'
{
  "log": [
    {
      "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": "28c9f895716cfa8f1220bc41b72a534c0e10cabe",
      "tree": "274ccf5d35445ce4b46e733b209fb73edcf4ad0c",
      "parents": [
        "63acae13f57c5ad4c8ec3146d0c458550b9e984e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 13:28:55 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 14 13:28:55 2022 +0100"
      },
      "message": "patch 9.0.0205: cursor in wrong position when inserting after virtual text\n\nProblem:    Cursor in wrong position when inserting after virtual text. (Ben\n            Jackson)\nSolution:   Put the cursor after the virtual text, where the text will be\n            inserted. (closes #10914)\n"
    },
    {
      "commit": "8f369fb1ab7debeeda0fec69c379c528d162d9c5",
      "tree": "8bac22fd9b0178208bc8365845f43380b6bb0856",
      "parents": [
        "f0ccfa474a5c4940d03bfc6084e896dc8ac2d791"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 13 19:35:05 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 13 19:35:05 2022 +0100"
      },
      "message": "patch 9.0.0200: cursor wrong if \u0027nowrap\u0027 and two right aligned text props\n\nProblem:    cursor in a wrong positoin if \u0027wrap\u0027 is off and using two right\n            aligned text props in one line.\nSolution:   Count an extra line for a right aligned text property after a\n            below or right aligned text property. (issue #10909)\n"
    },
    {
      "commit": "326c5d36e7cb8526330565109c17b4a13ff790ae",
      "tree": "58ae0580aa13a128387b13ac06e24d52b4d073fa",
      "parents": [
        "e38fc86180fd3f6b372648eea6adc3f623fea302"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 12 13:05:49 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 12 13:05:49 2022 +0100"
      },
      "message": "patch 9.0.0194: cursor displayed in wrong position after removing text prop\n\nProblem:    Cursor displayed in wrong position after removing text prop. (Ben\n            Jackson)\nSolution:   Invalidate the cursor position. (closes #10898)\n"
    },
    {
      "commit": "82b14c143aa1e70d55509cc9fa408828e90c93de",
      "tree": "dd5bd96742192f37f63c4aafdcfb05685009702d",
      "parents": [
        "96bde99bf890acd9952863a02c1d15edca2000e1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 10 19:50:47 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 10 19:50:47 2022 +0100"
      },
      "message": "patch 9.0.0188: strange effects when using \"text_align\" with non-zero column\n\nProblem:    Strange effects when using virtual text with \"text_align\" and\n            non-zero column. (Martin Tournoij)\nSolution:   Give an error. (closes #10888)\n"
    },
    {
      "commit": "1024690c015921b0a458172bc368133f63af1b89",
      "tree": "8a45303ba94fd06f32d5c5e00cafae9524a8bd70",
      "parents": [
        "6e5c61119a07b513a99baa9618e8182a74fd7e24"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 08 17:08:05 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 08 17:08:05 2022 +0100"
      },
      "message": "patch 9.0.0172: trying to allocate zero bytes\n\nProblem:    Trying to allocate zero bytes.\nSolution:   Do not allocate the proptype array when there are none.\n            (closes #10867)\n"
    },
    {
      "commit": "cf85d97bafdcc7837a77ab79cc04da189fa3dd0c",
      "tree": "61f1260f82e849c698d5b0e568a8faf68b7c0be8",
      "parents": [
        "25463610dfc7a4984f70b030463fb98b09772ad9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 08 14:59:47 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 08 14:59:47 2022 +0100"
      },
      "message": "patch 9.0.0169: insufficient testing for line2byte() with text properties\n\nProblem:    Insufficient testing for line2byte() with text properties.\nSolution:   Add tests with a lot of text.\n"
    },
    {
      "commit": "38ea2733b4dd8e9bfc4a5bb5c11cb661bf000c4e",
      "tree": "2fc5f46d1731812668255d34093d5b929987deed",
      "parents": [
        "50652b0c5cfc9d48d3561772420e1f01f878f033"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 07 22:04:56 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 07 22:04:56 2022 +0100"
      },
      "message": "patch 9.0.0167: checking for text properties could be a bit more efficient\n\nProblem:    Checking for text properties could be a bit more efficient.\nSolution:   Return early when there are no text properties.  Update TODO\n            items.\n"
    },
    {
      "commit": "e44336b00a6c51bef904450a8012e4982e38ba2d",
      "tree": "5e8df54b284819efc51aacc908d0b56de7ab69df",
      "parents": [
        "c390cc13e55b25d85a0684aa1becde881ef8ab19"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 07 18:20:08 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 07 18:20:08 2022 +0100"
      },
      "message": "patch 9.0.0165: looking up a text property type by ID is slow\n\nProblem:    Looking up a text property type by ID is slow.\nSolution:   Keep an array of property types sorted on ID.\n"
    },
    {
      "commit": "7d0f7e9524975ebcc3c7d98b5507de1b7df74370",
      "tree": "c4e545b74c88c23cea94fa63bfbd8de71a8eb8c8",
      "parents": [
        "1306b36a7b63c33b8948a78c71feb087cf83a39d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 06 17:10:57 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 06 17:10:57 2022 +0100"
      },
      "message": "patch 9.0.0154: text properties wrong after splitting a line\n\nProblem:    Text properties wrong after splitting a line.\nSolution:   Check for text properties after the line. (closes #10857)\n"
    },
    {
      "commit": "4d91d347e65a5621621ea1e3c97dce2c677ed71d",
      "tree": "3c1d98bf2b063c86b5568099208ec2fb69c151fc",
      "parents": [
        "25f40af9d2f04d18c8a276249f2794e83aa5c290"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 06 13:48:20 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Aug 06 13:48:20 2022 +0100"
      },
      "message": "patch 9.0.0151: a \"below\" aligned text property does not work with \u0027nowrap\u0027\n\nProblem:    A \"below\" aligned text property does not work with \u0027nowrap\u0027.\nSolution:   Start a new screen line to display the virtual text.\n            (closes #10851)\n"
    },
    {
      "commit": "213bbaf15afc628e5f83d1ae6526631ca8292292",
      "tree": "f9b701acce08e848d8b8dde47946ab32a1b22b54",
      "parents": [
        "f4ba8bc47eb3c6b5899ef31d083b9b8f0d4ca456"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 05 19:46:48 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 05 19:46:48 2022 +0100"
      },
      "message": "patch 9.0.0145: substitute that joins lines drops text properties\n\nProblem:    Substitute that joins lines drops text properties.\nSolution:   Move text properties of the last line to the new line.\n"
    },
    {
      "commit": "f4ba8bc47eb3c6b5899ef31d083b9b8f0d4ca456",
      "tree": "9266118a1688defde92692244251530573f7da2b",
      "parents": [
        "afd2aa79eda3fe69f2e7c87d0b9b4bca874f386a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 05 17:05:04 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Aug 05 17:05:04 2022 +0100"
      },
      "message": "patch 9.0.0144: text property cannot override \u0027cursorline\u0027 highlight\n\nProblem:    Text property cannot override \u0027cursorline\u0027 highlight.\nSolution:   Add the \"override\" flag to prop_type_add(). (closes #5533,\n            closes #8225).\n"
    },
    {
      "commit": "e175dc6911948bcd0c854876b534fee62fb95b9f",
      "tree": "67b74045048bee4fbcaa4fa4340b1fccba7084a3",
      "parents": [
        "09ff4b54fb86a64390ba9c609853c6410ea6197c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 22:18:50 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 22:18:50 2022 +0100"
      },
      "message": "patch 9.0.0133: virtual text after line moves to joined line\n\nProblem:    Virtual text after line moves to joined line. (Yegappan\n            Lakshmanan)\nSolution:   When joining lines only keep virtual text after the last line.\n"
    },
    {
      "commit": "783ef7214b6a33300bd83f616c1ead587370ce49",
      "tree": "000e03daade5825f8b2ef465690f8dea766f39cc",
      "parents": [
        "1f4ee19eefecd8f70b7cbe8ee9db8ace6352e23e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 16:11:06 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 01 16:11:06 2022 +0100"
      },
      "message": "patch 9.0.0131: virtual text with Tab is not displayed correctly\n\nProblem:    Virtual text with Tab is not displayed correctly.\nSolution:   Change any Tab to a space.\n"
    },
    {
      "commit": "b7963df98f9dbbb824713acad2f47c9989fcf8f3",
      "tree": "8c2476dc61f392b6524ab189f6a2e1b9558bd6a3",
      "parents": [
        "6b568b1cc75e6c4d4a3ec95d7867c7a22e98eba1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 31 17:12:43 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 31 17:12:43 2022 +0100"
      },
      "message": "patch 9.0.0121: cannot put virtual text after or below a line\n\nProblem:    Cannot put virtual text after or below a line.\nSolution:   Add \"text_align\" and \"text_wrap\" arguments.\n"
    },
    {
      "commit": "3a4cd39d476474e20e88ebf120ca6070cc0d0072",
      "tree": "16fd88c4fe566584cf1ef076dc835f3d85825b01",
      "parents": [
        "711483cd1381a4ed848d783ae0a6792d5b04447b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 30 22:17:18 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 30 22:17:18 2022 +0100"
      },
      "message": "patch 9.0.0117: text of removed textprop with text is not freed\n\nProblem:    Text of removed textprop with text is not freed.\nSolution:   Free the text when the property is removed.  Reduce the array size\n            to ignore NULLs at the end.\n"
    },
    {
      "commit": "7f9969c559b51446632ac7e8f76cde07e7d0078d",
      "tree": "77868549433487dbadb8833a1b6a63d522adaa72",
      "parents": [
        "b529cfbd04c02e31cfa88f2c8d88b5ff532d4f7d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 25 18:13:54 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jul 25 18:13:54 2022 +0100"
      },
      "message": "patch 9.0.0067: cannot show virtual text\n\nProblem:    Cannot show virtual text.\nSolution:   Initial changes for virtual text support, using text properties.\n"
    },
    {
      "commit": "d61efa50f8f5b9d9dcbc136705cc33874f0fdcb3",
      "tree": "7ca7416ffda546d9f45ba93d3c93f3418bd6bcd0",
      "parents": [
        "5ac50de83f1b4136f903c51a1d4e7d84a26c2271"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 23 09:52:04 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 23 09:52:04 2022 +0100"
      },
      "message": "patch 9.0.0063: too many type casts for dict_get functions\n\nProblem:    Too many type casts for dict_get functions.\nSolution:   Change the key argument from \"char_u *\" to \"char *\".\n"
    },
    {
      "commit": "fa4873ccfc10e0f278dc46f39d00136fab059b19",
      "tree": "55d4275e939188fc973d53bcf19e3d6136e6efe6",
      "parents": [
        "cdbfc6dbab1d63aa56af316d6b13e37939e7f7a8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 30 22:13:59 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 30 22:13:59 2022 +0100"
      },
      "message": "patch 9.0.0013: reproducing memory access errors can be difficult\n\nProblem:    Reproducing memory access errors can be difficult.\nSolution:   When testing, copy each line to allocated memory, so that valgrind\n            can detect accessing memory before and/or after it.  Fix uncovered\n            problems.\n"
    },
    {
      "commit": "93a1096fe48e12095544924adb267e3b8a16b221",
      "tree": "a6d426e87bc49d8fcee200052d17c83302f32629",
      "parents": [
        "44068e97dbd8fc8ebd93113e436a1e37a6bff52c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 16 11:42:09 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jun 16 11:42:09 2022 +0100"
      },
      "message": "patch 8.2.5107: some callers of rettv_list_alloc() check for not OK\n\nProblem:    Some callers of rettv_list_alloc() check for not OK. (Christ van\n            Willegen)\nSolution:   Use \"\u003d\u003d\" instead of \"!\u003d\" when checking the return value.\n"
    },
    {
      "commit": "4c3d21acaa09d929e6afe10288babe1d0af3de35",
      "tree": "2dc8dcb057fdeb4ab2bd2398e460a1692a0ac519",
      "parents": [
        "78d52883e10d71f23ab72a3d8b9733b00da8c9ad"
      ],
      "author": {
        "name": "Paul Ollis",
        "email": "paul@cleversheep.org",
        "time": "Tue May 24 21:26:37 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 24 21:26:37 2022 +0100"
      },
      "message": "patch 8.2.5014: byte offsets are wrong when using text properties\n\nProblem:    Byte offsets are wrong when using text properties.\nSolution:   Make sure text properties do not affect the byte counts.\n            (Paul Ollis, closes #10474)\n"
    },
    {
      "commit": "698cb4c8fa16a4dbe4830648532c09d7e5c89095",
      "tree": "5ed59c30e81410dee01bc4de72241dfe7ce700d4",
      "parents": [
        "30ab04e16e1e9e6133590181197b3f8e70cb495e"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Sat May 14 18:10:15 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 14 18:10:15 2022 +0100"
      },
      "message": "patch 8.2.4954: inserting line breaks text property spanning two lines\n\nProblem:    Inserting line breaks text property spanning more then one line.\nSolution:   Check TP_FLAG_CONT_PREV and TP_FLAG_CONT_NEXT. (closes #10423)\n"
    },
    {
      "commit": "9bd3ce22e36b5760a5e22e7d34d1bd6a3411258e",
      "tree": "85c367ea512c8ed02519116e2208cf3ce23e51ae",
      "parents": [
        "861fcee8de19a694de413dd28e0ebe80010f0b4f"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Mon Apr 18 21:54:02 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 18 21:54:02 2022 +0100"
      },
      "message": "patch 8.2.4787: prop_find() does not find the right property\n\nProblem:    prop_find() does not find the right property.\nSolution:   Fix the scan order. (closes #10220)\n"
    },
    {
      "commit": "4829c1c9e9095a3303caec9af7d02f6547f6df0e",
      "tree": "2b3819cd2ea17b652ba29f3a8a6ea9945ec6c4bb",
      "parents": [
        "7a411a306f90339d8686e42ac16e1ae4fc7533c5"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Apr 04 15:16:54 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 04 15:16:54 2022 +0100"
      },
      "message": "patch 8.2.4683: verbose check with dict_find() to see if a key is present\n\nProblem:    Verbose check with dict_find() to see if a key is present.\nSolution:   Add dict_has_key(). (Yegappan Lakshmanan, closes #10074)\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": "9a846fbaa569b3690d70606f2a86e97f77a05496",
      "tree": "cbe5304927fe21586593c94342e4f023aa3e0837",
      "parents": [
        "b34689010a587e85ff724051f276513a15c634d0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 21:59:18 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 21:59:18 2022 +0000"
      },
      "message": "patch 8.2.3977: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more error messages to errors.h.\n"
    },
    {
      "commit": "460ae5dfca31fa627531c263184849976755cf6b",
      "tree": "d94de6a24285bc10fd62ad4ae9aecb53f9a7e913",
      "parents": [
        "b37a65e4bf08c4eec4fa5b81a5efc3945fca44de"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 14:19:49 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 14:19:49 2022 +0000"
      },
      "message": "patch 8.2.3967: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "436b5adc9770a2568209dd5ab1f98bd1afc91898",
      "tree": "623dc85ee9a396b16f939f44d38138f882edc229",
      "parents": [
        "f1474d801bbdb73406dd3d1f931f515f99e86dfa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 22:49:24 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 22:49:24 2021 +0000"
      },
      "message": "patch 8.2.3961: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "8dac2acd6a79d571ff5409d9c90b4c9e73237eb4",
      "tree": "1d3712aff207fc834fb5aa8dc5afc2a394fc7788",
      "parents": [
        "4b28ba3245df8274303c79429972f9dc9438e4aa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 27 20:57:06 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Dec 27 20:57:06 2021 +0000"
      },
      "message": "patch 8.2.3916: no error for passing an invalid line number to append()\n\nProblem:    No error for passing an invalid line number to append().\nSolution:   In Vim9 script check for a non-negative number. (closes #9417)\n"
    },
    {
      "commit": "e021662f39b38ef7cf27e13850d0ce6890e48376",
      "tree": "4923c14f11926925612243326af7232f5b0f663a",
      "parents": [
        "04b568b38f848293e1ae0e680685280151acb386"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Nov 23 11:46:32 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Nov 23 11:46:32 2021 +0000"
      },
      "message": "patch 8.2.3652: can only get text properties one line at a time\n\nProblem:    Can only get text properties one line at a time.\nSolution:   Add options to prop_list() to use a range of lines and filter by\n            types. (Yegappan Lakshmanan, closes #9138)\n"
    },
    {
      "commit": "ccfb7c6758510e0fe5f390149ea14aee6ff4f55e",
      "tree": "bc6984780b38233a25aff66d15d9af2798999bb0",
      "parents": [
        "434df7a401c92d4084bb0a01ffd6d1737ae0193b"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Aug 16 21:39:09 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 16 21:39:09 2021 +0200"
      },
      "message": "patch 8.2.3356: adding many text properties requires a lot of function calls\n\nProblem:    Adding many text properties requires a lot of function calls.\nSolution:   Add the prop_add_list() function. (Yegappan Lakshmanan,\n            closes #8751)\n"
    },
    {
      "commit": "e041dde7bb9157644fa5135a252c84924b9ea433",
      "tree": "5fa0a808d67cb5cfaf3e821999bb443c8fc64074",
      "parents": [
        "e4db17fb6e2d029aa2dddfca703ace9bcf0d85fd"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 01 21:30:12 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 01 21:30:12 2021 +0200"
      },
      "message": "patch 8.2.3272: cannot use id zero with prop_find()\n\nProblem:    Cannot use id zero with prop_find(). (Naohiro Ono)\nSolution:   Also accept id zero.\n"
    },
    {
      "commit": "0d4d9ee9bb18f89d76c67f037baebe2c2db545f0",
      "tree": "7063335b7972eb55ac85bfa000f388550c485bc2",
      "parents": [
        "f78da4f9d6daf1907e4ce4be74146375dbd9a546"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 01 19:28:15 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 01 19:28:15 2021 +0200"
      },
      "message": "patch 8.2.3270: prop_find() finds property with ID -2\n\nProblem:    prop_find() finds property with ID -2.\nSolution:   Use a separate flag to indicate an ID was specified. (issue #8674)\n"
    },
    {
      "commit": "8e3fc135e884a30620fb1c6e84986fae1467acd3",
      "tree": "aee5f877c6359bf1971a2dc2d03abf3be6c77dd7",
      "parents": [
        "bf634a0a8b64fda2e53d3e2254fe0ffdc3d67196"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 31 18:33:57 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 31 18:33:57 2021 +0200"
      },
      "message": "patch 8.2.3257: calling prop_find() with -1 for ID gives errornous error\n\nProblem:    Calling prop_find() with -1 for ID gives errornous error. (Naohiro\n            Ono)\nSolution:   When passing -1 use -2. (closes #8674)\n"
    },
    {
      "commit": "e2390c7f32879ab7942adf0d38b1db34933695fa",
      "tree": "790c45a98865cb220c0d36d235826d5640613ad5",
      "parents": [
        "7e6a2a64f09df577f29e024c1d1e6733d6bc1b7c"
      ],
      "author": {
        "name": "Martin Tournoij",
        "email": "martin@arp242.net",
        "time": "Wed Jul 28 13:30:16 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jul 28 13:30:16 2021 +0200"
      },
      "message": "patch 8.2.3233: prop_list() and prop_find() do not indicate the buffer\n\nProblem:    prop_list() and prop_find() do not indicate the buffer for the\n            used type.\nSolution:   Add \"type_bufnr\" to the results. (closes #8647)\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": "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": "1a71d31bf34b0b2b08517903826004ec6fd440e5",
      "tree": "05f54a00199737fe81fdf49e9ea72c09dba483d9",
      "parents": [
        "c816a2c22667108fcd61f445de2c926f78ff9fa7"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Jul 15 12:49:58 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 15 12:49:58 2021 +0200"
      },
      "message": "patch 8.2.3162: 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 #8560)\n"
    },
    {
      "commit": "5b73992d8f82be7ac4b6f46c17f53ffb9640e5fa",
      "tree": "ff59a04ff0b60de8b527e5fe9d5e7df9bf50f5ce",
      "parents": [
        "9da32e4d578f4e93ef5397f9dd13e2c28b2a2595"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Jul 10 13:15:41 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 10 13:15:41 2021 +0200"
      },
      "message": "patch 8.2.3135: Vim9: builtin function arguments not checked at compile time\n\nProblem:    Vim9: builtin function arguments not checked at compile time.\nSolution:   Add more type checks. (Yegappan Lakshmanan, closes #8539)\n"
    },
    {
      "commit": "108010aa4720ef023a8ac59004fc0f2bc11125af",
      "tree": "831741a42644a86ee0d74679361f74cc27861eaa",
      "parents": [
        "d887297ad0164516dd52cdab0308c3626337d124"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 27 22:03:33 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 27 22:03:33 2021 +0200"
      },
      "message": "patch 8.2.3069: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move some error messages to errors.h.  Use clearer names.\n"
    },
    {
      "commit": "965c04486c9364ded99b49c86f4c41228503df1f",
      "tree": "7d3f8e427d7d6dc524d9339e46f67c267eabfba3",
      "parents": [
        "fc643e6016af80ed5be4570db5c26a6410f52d16"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 17 00:22:06 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 17 00:22:06 2021 +0200"
      },
      "message": "patch 8.2.2863: removing a text property does not redraw optimally\n\nProblem:    Removing a text property does not redraw optimally.\nSolution:   Only redraw the lines that mithg actually have been changed.\n"
    },
    {
      "commit": "fc643e6016af80ed5be4570db5c26a6410f52d16",
      "tree": "c062344eff197944e919885e0d4393deedf14f26",
      "parents": [
        "3b1373b193ce5fbf25e852277a4ecc98688c7bb8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 17 00:15:18 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon May 17 00:15:18 2021 +0200"
      },
      "message": "patch 8.2.2862: removing a text property causes the whole window to be redawn\n\nProblem:    Removing a text property causes the whole window to be redawn.\nSolution:   Use changed_lines_buf() to only redraw the affected lines.\n"
    },
    {
      "commit": "1764faa38645a559172e9a31f08447385835de81",
      "tree": "a99cd5381e3277ed7563664f9461be31aecb1048",
      "parents": [
        "dcfc311198b174468c007ec4b5b22b33c2c11c92"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 16 20:18:57 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 16 20:18:57 2021 +0200"
      },
      "message": "patch 8.2.2860: adding a text property causes the whole window to be redawn\n\nProblem:    Adding a text property causes the whole window to be redawn.\nSolution:   Use changed_lines_buf() to only redraw the affected lines.\n"
    },
    {
      "commit": "24f21fdfca294fec25861343f8928f6480da95f4",
      "tree": "9e22e3e5bb6b1bc7c95914ffcb1057d339b534c2",
      "parents": [
        "c580943965fc9b006ec233bdee4ea5380f5594ea"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 27 22:07:29 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 27 22:07:29 2021 +0100"
      },
      "message": "patch 8.2.2667: prop_find() cannot find item matching both id and type\n\nProblem:    prop_find() cannot find item matching both id and type.\nSolution:   Add the \"both\" argument. (Naohiro Ono, closes #8019)\n"
    },
    {
      "commit": "da1dbed0dfac00952b42982f8fffa42c4f5ed0c8",
      "tree": "9d1293b787f0635d562973e5580bc61d5a3cea96",
      "parents": [
        "1f448d906b3c516e5864dc5bae3ddbf3664ee649"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 22 19:43:34 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Mar 22 19:43:34 2021 +0100"
      },
      "message": "patch 8.2.2644: prop_clear() causes a screen update even when nothing changed\n\nProblem:    prop_clear() causes a screen update even when nothing changed.\nSolution:   Only redraw when a property was cleared. (Dominique Pellé)\n"
    },
    {
      "commit": "09f8b3a02200a1900a8bb41d7436f9d17ebd2d1b",
      "tree": "07112e7d6cb0f2dead8d25c2da3d6cd60e1dcfc3",
      "parents": [
        "67da21a14726b106b49744f9773eba132fedd5f2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 21 22:29:54 2021 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 21 22:29:54 2021 +0100"
      },
      "message": "patch 8.2.2637: prop_remove() causes a redraw even when nothing changed\n\nProblem:    prop_remove() causes a redraw even when nothing changed.\nSolution:   Only redraw if a property was removed.\n"
    },
    {
      "commit": "23999d799cfe844b604f193183f8f84052c8e746",
      "tree": "35d073cb39859acd906c9ac1c9fee90c251b2299",
      "parents": [
        "4072ba571babd733d1800c082416fe8fe3c28ed7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 23 14:36:00 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 23 14:36:00 2020 +0100"
      },
      "message": "patch 8.2.2198: ml_get error when resizing window and using text property\n\nProblem:    ml_get error when resizing window and using text property.\nSolution:   Validate botline of the right window. (closes #7528)\n"
    },
    {
      "commit": "8e7d6223f630690b72b387eaed704bf01f3f29d2",
      "tree": "b2e694bda1dbae28776d68f9babbb42d27e5c730",
      "parents": [
        "3beaf9cd8efa3ba83e07187215004d140b89d529"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 18 19:49:56 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 18 19:49:56 2020 +0100"
      },
      "message": "patch 8.2.2160: various typos\n\nProblem:    Various typos.\nSolution:   Fix spelling mistakes. (closes #7494)\n"
    },
    {
      "commit": "8902b31f1b31c117915defc23ac45cdc1f5c671b",
      "tree": "e2c7dd046e68cd28bbf8a7b5959069be7294161d",
      "parents": [
        "7795bfea6d30c85f2c05d986a0cfe4019df4d74d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 20 21:04:35 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Sep 20 21:04:35 2020 +0200"
      },
      "message": "patch 8.2.1714: text properties corrupted with substitute command\n\nProblem:    Text properties corrupted with substitute command. (Filipe\n            Brandenburger)\nSolution:   Get the changed line again after using u_savesub(). (closes #6984)\n"
    },
    {
      "commit": "fa2e38df76b3e0919dc01dd1836257dce0ba62b1",
      "tree": "a8b9b8b6a6340e834ba01e15711b83c866ccf728",
      "parents": [
        "a5a40c569695a750cace7d29824101ec8ef2b48f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 05 21:00:00 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 05 21:00:00 2020 +0200"
      },
      "message": "patch 8.2.1613: Vim9: cannot pass \"true\" to prop_type_add()\n\nProblem:    Vim9: cannot pass \"true\" to prop_type_add().\nSolution:   Use tv_get_bool(). (closes #6850)\n"
    },
    {
      "commit": "a5a40c569695a750cace7d29824101ec8ef2b48f",
      "tree": "11fef7597433216623e355f1ae3f019ad963ca60",
      "parents": [
        "ed6a430fae72c077ec106c9620379b69cfec3035"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 05 20:50:49 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Sep 05 20:50:49 2020 +0200"
      },
      "message": "patch 8.2.1612: Vim9: cannot pass \"true\" to prop_remove()\n\nProblem:    Vim9: cannot pass \"true\" to prop_remove().\nSolution:   Use dict_get_bool(). (closes #6853)\n"
    },
    {
      "commit": "eb24556df3b16a19009ee3ddee8ae94dc058a3b2",
      "tree": "427a96ce7432b3fa604dc62885b56be786a9d416",
      "parents": [
        "18eedfa40b45b1de955d61417e9918ef7d6e83f9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 03 22:33:44 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 03 22:33:44 2020 +0200"
      },
      "message": "patch 8.2.1584: Vim9: cannot use \"true\" for \"skipstart\" in prop_find()\n\nProblem:    Vim9: cannot use \"true\" for \"skipstart\" in prop_find().\nSolution:   Use dict_get_bool() instead of tv_get_number(). (closes #6852)\n"
    },
    {
      "commit": "4da7a259f6b28a4f855a6fa7d0ede5e038600154",
      "tree": "f5a7b2fa464a077b0cff49553aa3b255557dda1e",
      "parents": [
        "6efa46f4efd226f65634ba8eb6ddee54de1de563"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 02 19:59:00 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 02 19:59:00 2020 +0200"
      },
      "message": "patch 8.2.1568: prop_find() skips properties in the same line\n\nProblem:    prop_find() skips properties in the same line if \"skipstart\" is\n            used.\nSolution:   Use \"continue\" instead of \"break\". (closes #6840)\n"
    },
    {
      "commit": "cf070112ca2a6ac9ec5466be1cdc667f6abe8fd0",
      "tree": "241db85e804fce8aee0ba8c749a8cd472d65d232",
      "parents": [
        "d034220c54c63daaa2841e97b653842a47f5e90e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 29 23:02:21 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 29 23:02:21 2020 +0200"
      },
      "message": "patch 8.2.1092: not checking if saving for undo succeeds\n\nProblem:    Not checking if saving for undo succeeds.\nSolution:   Bail out if u_savesub() returns FAIL.\n"
    },
    {
      "commit": "87be9be1db6b6d8fb57ef14e05f23a84e5e8bea0",
      "tree": "f48a2f1809c3ce3f589b34fbebd219a4d21bc5fd",
      "parents": [
        "a9d4b84d97fb74061eeb42c1433e111fb58825dc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 15:32:02 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 30 15:32:02 2020 +0200"
      },
      "message": "patch 8.2.0845: text properties crossing lines not handled correctly\n\nProblem:    Text properties crossing lines not handled correctly.\nSolution:   When joining lines merge text properties if possible.\n            (Axel Forsman, closes #5839, closes #5683)\n"
    },
    {
      "commit": "965fd8d4dc5e84f612d8fc1efeaa78bd17842c9b",
      "tree": "aa5832426f7134ef1e970c72cc0342a8374f1509",
      "parents": [
        "346f18e5fe12e6aaba5a6a18f6d0deb55eb7a9e8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 14 07:46:40 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 14 07:46:40 2020 +0100"
      },
      "message": "patch 8.2.0379: gcc warns for ambiguous else\n\nProblem:    Gcc warns for ambiguous else.\nSolution:   Add braces. (Dominique Pelle, closes #5778)\n"
    },
    {
      "commit": "346f18e5fe12e6aaba5a6a18f6d0deb55eb7a9e8",
      "tree": "95ecb1be20705e9abbcd4d75f97169c4cbca8e46",
      "parents": [
        "d47e6f0b4cc82e3ccdc4605bb1811861a5b2d115"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 13 21:36:40 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 13 21:36:40 2020 +0100"
      },
      "message": "patch 8.2.0378: prop_find() does not find all props\n\nProblem:    prop_find() does not find all props.\nSolution:   Check being in the start line. (Axel Forsman, closes #5776)\n"
    },
    {
      "commit": "66b98854d86f641db036fd1e6cf20f7b8905344e",
      "tree": "4d6f66d220b64b10c4dffe2d03acd5b46b001086",
      "parents": [
        "cee52204ca030ce7814844e4dab8b4ed897ba3cc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 11 19:15:52 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Mar 11 19:15:52 2020 +0100"
      },
      "message": "patch 8.2.0372: prop_find() may not find text property at start of the line\n\nProblem:    Prop_find() may not find text property at start of the line.\nSolution:   Adjust the loop to find properties. (Axel Forsman, closes #5761,\n            closes #5663)\n"
    },
    {
      "commit": "49b79bd4888341d527c95f2aa73ed953203ce2b6",
      "tree": "d43e2c107c13b78845cf4e72670f696c21e88717",
      "parents": [
        "8f027fe470555252b258508c455e93700a969cb1"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 05 21:52:55 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Mar 05 21:52:55 2020 +0100"
      },
      "message": "patch 8.2.0357: cannot delete a text property matching both id and type\n\nProblem:    Cannot delete a text property matching both id and type. (Axel\n            Forsman)\nSolution:   Add the \"both\" argument.\n"
    },
    {
      "commit": "12f20038714928bfecdeee31ed1f927324542034",
      "tree": "2a621ca1c4a57514ec42c53132f1839a452167e2",
      "parents": [
        "7eeefd4a395fe3d7c7a2a0879467cf7ed4c29fe6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 26 22:06:00 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Feb 26 22:06:00 2020 +0100"
      },
      "message": "patch 8.2.0324: text property not updated correctly when inserting/deleting\n\nProblem:    Text property not updated correctly when inserting/deleting.\nSolution:   Use the right column when deleting. Make zero-width text\n            properties respect start_incl and end_incl. (Axel Forsman,\n            closes #5696, closes #5679)\n"
    },
    {
      "commit": "e05a89ac6399a8c7d164c99fdab6841d999a9128",
      "tree": "341094bf6f52eede325b21927fe20aa953fae506",
      "parents": [
        "2963456ff2b740244b3a064785fe681b1998d75e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 10 19:56:46 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 10 19:56:46 2020 +0100"
      },
      "message": "patch 8.2.0110: prop_find() is not implemented\n\nProblem:    prop_find() is not implemented.\nSolution:   Implement prop_find(). (Ryan Hackett, closes #5421, closes #4970)\n"
    },
    {
      "commit": "3d8a513b46b586cb5d2893e7f28c5f51c4dfdc17",
      "tree": "2931875c1c84bacc2254e4d66fea1f53d2b3f040",
      "parents": [
        "0892832bb6c7e322fcae8560eaad5a8140ee4a06"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 04 16:13:49 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 04 16:13:49 2020 +0100"
      },
      "message": "patch 8.2.0085: dead code in builtin functions\n\nProblem:    Dead code in builtin functions.\nSolution:   Clean up the code.\n"
    },
    {
      "commit": "05ad5ff0ab34ed9a5296dedd420ca81698b8ce22",
      "tree": "7354d352e37ab28988ce26e4f88efd9a9b9f71ec",
      "parents": [
        "0c5c3faef2d54151a8c144539e3e5a3350fb18c7"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 22:48:27 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 22:48:27 2019 +0100"
      },
      "message": "patch 8.1.2371: FEAT_TEXT_PROP is a confusing name\n\nProblem:    FEAT_TEXT_PROP is a confusing name.\nSolution:   Use FEAT_PROP_POPUP. (Naruhiko Nishino, closes #5291)\n"
    },
    {
      "commit": "ecafcc15ca92ecb9c6b41dbb3b0fcdf89c9eff69",
      "tree": "c9b4e5ecf302b46bfa77fa64cf242932df84e080",
      "parents": [
        "a37cb55da6ba44c5e85a22b03a91e1b663aceddf"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 16 20:41:51 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 16 20:41:51 2019 +0100"
      },
      "message": "patch 8.1.2308: deleting text before zero-width textprop removes it\n\nProblem:    Deleting text before zero-width textprop removes it.\nSolution:   Keep zero-width textprop when deleting text.\n"
    },
    {
      "commit": "0743ef9f8a5b09787e2e0719d96e28e953a79189",
      "tree": "df4f34d8fb6c788d74949a75060835262c102a57",
      "parents": [
        "d6a98a3a9768568b668f91a53267b36f86b84466"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 13 16:37:31 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 13 16:37:31 2019 +0100"
      },
      "message": "patch 8.1.2298: missing part of 8.1.2296\n\nProblem:    Missing part of 8.1.2296.\nSolution:   s/test/text/\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": "7aee6876eb4a66cc9d475e30bb58c060e7d4e90e",
      "tree": "a91b20c5263a7180a0448d0c261133eb4da72f67",
      "parents": [
        "11a58af66fa5c442f0a22c5d59beabf187ed4e89"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 25 21:49:38 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 25 21:49:38 2019 +0200"
      },
      "message": "patch 8.1.2215: unreachable code in adjusting text prop columns\n\nProblem:    Unreachable code in adjusting text prop columns.\nSolution:   Remove the code. (Christian Brabandt)\n"
    },
    {
      "commit": "8e95636a282f3eac808c0e00c053b33334cc283e",
      "tree": "f2fdaf570a335324d8e861b68e2e632d32a0b07c",
      "parents": [
        "12034e22dd80cf533ac1c681be521ab299383f63"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 25 23:08:17 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 25 23:08:17 2019 +0200"
      },
      "message": "patch 8.1.1929: no tests for text property popup window\n\nProblem:    No tests for text property popup window.\nSolution:   Add a few tests.\n"
    },
    {
      "commit": "12034e22dd80cf533ac1c681be521ab299383f63",
      "tree": "ac564b63f00ae8f37c7fc3f8f5c45e3e6b552213",
      "parents": [
        "307c5a5bb77c3728dfab06c30e9f786309c63f74"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 25 22:25:02 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 25 22:25:02 2019 +0200"
      },
      "message": "patch 8.1.1928: popup windows don\u0027t move with the text when making changes\n\nProblem:    Popup windows don\u0027t move with the text when making changes.\nSolution:   Add the \u0027textprop\" property to the popup window options, position\n            the popup relative to a text property. (closes #4560)\n            No tests yet.\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": "45311b5274a6ac6e44235dfd4588c6b1bf0d4850",
      "tree": "6a4e242e2c509cb3931d7ac8684b7384f69f223c",
      "parents": [
        "f077db24230d10ef9a66ae14da34b639464d8fa2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 13 22:27:32 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Aug 13 22:27:32 2019 +0200"
      },
      "message": "patch 8.1.1844: buffer no longer unloaded when adding text properties\n\nProblem:    Buffer no longer unloaded when adding text properties to it.\nSolution:   Do not create the memfile. (closes #4808)\n"
    },
    {
      "commit": "47ed553fd5bebfc36eb8aa81686eeaa5a84eccac",
      "tree": "73dbe93fe15754af8a4384ef66d7f595c9bbb8a6",
      "parents": [
        "8c5a278fc508da6dfe50e69b6ee734451aa4eafb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 08 20:49:14 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Aug 08 20:49:14 2019 +0200"
      },
      "message": "patch 8.1.1827: allocating more memory than needed for extended structs\n\nProblem:    Allocating more memory than needed for extended structs.\nSolution:   Use offsetof() instead of sizeof(). (Dominique Pelle,\n            closes #4786)\n"
    },
    {
      "commit": "277e79adc4d2b62556ce8a3720684e4b3e1e6d42",
      "tree": "15c29d5d307cd7784ef4e435f20030d13aa6290d",
      "parents": [
        "c974022c31e790136c62586eb0b0ace2d02d2afb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 04 19:16:29 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jun 04 19:16:29 2019 +0200"
      },
      "message": "patch 8.1.1463: gcc warns for uninitialized variable\n\nProblem:    Gcc warns for uninitialized variable.\nSolution:   Put usage inside \"if\".  (Ken Takata)\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": "7a8d0278bd6bd57e04f61183cb8e2969cf148e3f",
      "tree": "04c4b87ed408ecdc614820fd218622103f0a011d",
      "parents": [
        "2cd0dce898995a2b05f7285a70efec3f67f579f5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 26 23:32:06 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 26 23:32:06 2019 +0200"
      },
      "message": "patch 8.1.1407: popup_create() does not support text properties\n\nProblem:    Popup_create() does not support text properties.\nSolution:   Support the third form of the text argument.\n"
    },
    {
      "commit": "51e14387f120392b74b84408cafec33942337a05",
      "tree": "43d2b2077c404671de3f7fdfc5bc90930aa53d09",
      "parents": [
        "682725c1415f50681877df60257115a966e2a3d4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 25 20:21:28 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 25 20:21:28 2019 +0200"
      },
      "message": "patch 8.1.1393: unnecessary type casts\n\nProblem:    Unnecessary type casts.\nSolution:   Remove type casts from alloc() and lalloc() calls. (Mike Williams)\n"
    },
    {
      "commit": "f0884c5f3f5a25481d1e16f0979aa978a6690bb1",
      "tree": "4cc8521c7b5093a3218fed032d02e6fba8bf71e9",
      "parents": [
        "d79eef2eb1f24b53206c4e55b80a4634f548c429"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 21:22:29 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 21:22:29 2019 +0200"
      },
      "message": "patch 8.1.1388: errors when calling prop_remove() for an unloaded buffer\n\nProblem:    Errors when calling prop_remove() for an unloaded buffer.\nSolution:   Bail out when the buffer is not loaded.  Add a few more tests for\n            failing when the buffer number is invalid.\n"
    },
    {
      "commit": "d79eef2eb1f24b53206c4e55b80a4634f548c429",
      "tree": "7e3363a5b1693bae6c3950987b1d12033511ad54",
      "parents": [
        "18a4ba29aeccb9841d5bfdd2eaaffdfae2f15ced"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 20:41:55 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 20:41:55 2019 +0200"
      },
      "message": "patch 8.1.1387: calling prop_add() in an empty buffer doesn\u0027t work\n\nProblem:    Calling prop_add() in an empty buffer doesn\u0027t work. (Dominique\n            Pelle)\nSolution:   Open the memline before adding a text property. (closes #4412)\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": "e2ad826f431b2f8dd1b235c219282cc3961f7188",
      "tree": "8902f3be38d3a8088ece4b3dd334e5d72f899efd",
      "parents": [
        "984f031fb02fe301a8dbf8a35b871c9f60b8f61e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 13:22:22 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 24 13:22:22 2019 +0200"
      },
      "message": "patch 8.1.1376: warnings for size_t/int mixups\n\nProblem:    Warnings for size_t/int mixups.\nSolution:   Change types, add type casts. (Mike Williams)\n"
    },
    {
      "commit": "f3333b02f34526da46cdae608f7e2d869bb8c654",
      "tree": "be05ce3393cee6644f8755f59dcdf4b3694dbc33",
      "parents": [
        "386b43e59498cc7b52a60f09f74bdb44df99386c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 19 22:53:40 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 19 22:53:40 2019 +0200"
      },
      "message": "patch 8.1.1359: text property wrong after :substitute with backslash\n\nProblem:    Text property wrong after :substitute with backslash.\nSolution:   Adjust text property columns when removing backslashes.\n            (closes #4397)\n"
    },
    {
      "commit": "338dfdad3844ebb1ce1d56c421d1f698c086eb0c",
      "tree": "92afa870c4fd44c0de47468149d64c42708c2aa8",
      "parents": [
        "dc6855af974f2ef553aceee619fadcb858e25d39"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 19 15:19:57 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 19 15:19:57 2019 +0200"
      },
      "message": "patch 8.1.1351: text property wrong after :substitute\n\nProblem:    Text property wrong after :substitute.\nSolution:   Save for undo before changing any text properties.\n"
    },
    {
      "commit": "8055d17388736421d875dd4933c4c93d49a2ab58",
      "tree": "81ebca77b3ed10b02f42f8513c29b838ac7952fb",
      "parents": [
        "787880a86dbcb79cdf6e8241b1d99ac4a7acbc09"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 22:57:26 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 22:57:26 2019 +0200"
      },
      "message": "patch 8.1.1343: text properties not adjusted for Visual block mode delete\n\nProblem:    Text properties not adjusted for Visual block mode delete.\nSolution:   Call adjust_prop_columns(). (closes #4384)\n"
    },
    {
      "commit": "80e737cc6ab6b68948f6765348b6881be861b200",
      "tree": "695802f3be12c07911c64618e8bb8978367b1469",
      "parents": [
        "bfd451283f8c37926f4b0aa22b74b534bd84e482"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 19:56:34 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 19:56:34 2019 +0200"
      },
      "message": "patch 8.1.1341: text properties are lost when joining lines\n\nProblem:    Text properties are lost when joining lines.\nSolution:   Move the text properties to the joined line.\n"
    },
    {
      "commit": "bfd451283f8c37926f4b0aa22b74b534bd84e482",
      "tree": "10b60e88040d935de174aa80cfca48f87655d91a",
      "parents": [
        "dabfde04fe974b444d08715178c619c99c2cdcd8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 13:05:07 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 13:05:07 2019 +0200"
      },
      "message": "patch 8.1.1340: attributes from \u0027cursorline\u0027 overwrite textprop\n\nProblem:    Attributes from \u0027cursorline\u0027 overwrite textprop.\nSolution:   Combine the attributes. (closes #3912)\n"
    },
    {
      "commit": "5c65e6a062dfc7d20931fa1f73d03b1714a4d5e1",
      "tree": "aa2fb3f679bb6c2837b0c640f43ee721c78358c8",
      "parents": [
        "17aca707f92235b6f962e637e8073162d18e6de2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 11:08:56 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri May 17 11:08:56 2019 +0200"
      },
      "message": "patch 8.1.1337: get empty text prop when splitting line just after text prop\n\nProblem:    Get empty text prop when splitting line just after text prop.\nSolution:   Do not create an empty text prop at the start of the line.\n"
    },
    {
      "commit": "45dd07f10af9bea86f8df77e92788209e209fdab",
      "tree": "f13ed8d114a89aaa99a9ff0ca9a85bde4a62a16c",
      "parents": [
        "fe1ade0a78a70a4c7ddaebb6964497f037f4997a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 22:45:37 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed May 15 22:45:37 2019 +0200"
      },
      "message": "patch 8.1.1333: text properties don\u0027t always move after changes\n\nProblem:    Text properties don\u0027t always move after changes.\nSolution:   Update properties before reporting changes to listeners. Move text\n            property when splitting a line.\n"
    },
    {
      "commit": "58187f1c8a7095dbe0237a8208fa7f7bc899f246",
      "tree": "5bdfe4abf2aef4cc0de1bb6e00643363bde8d17b",
      "parents": [
        "8fc0271e9a5b67b849abb861f630f50e612b330b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 05 16:33:47 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun May 05 16:33:47 2019 +0200"
      },
      "message": "patch 8.1.1278: missing change for \"combine\" field\n\nProblem:    Missing change for \"combine\" field.\nSolution:   Also change the textprop implementation.\n"
    },
    {
      "commit": "0a2f578e22de7e4d82075578afdd5fc2d2dd8134",
      "tree": "4edb367d670941ee30705c803b19e3318b98b692",
      "parents": [
        "2ace1bd652211506b60faddb8243e48400c89492"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 22 13:20:43 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Mar 22 13:20:43 2019 +0100"
      },
      "message": "patch 8.1.1035: prop_remove() second argument is not optional\n\nProblem:    prop_remove() second argument is not optional.\nSolution:   Fix argument count.  Use \"buf\" instead of \"curbuf\". (closes #4147)\n"
    },
    {
      "commit": "c666388367282c3c7d1d7af24883cfa0d40b046e",
      "tree": "f31f3b2331a5c9849c5694f855884e09966126c2",
      "parents": [
        "882d02eeb571a13a502fe82a04c9eaffa630c294"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 22 19:14:54 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 22 19:14:54 2019 +0100"
      },
      "message": "patch 8.1.0975: using STRNCPY() wrongly. Warning for uninitialized variable\n\nProblem:    Using STRNCPY() wrongly. Warning for uninitialized variable.\nSolution:   Use mch_memmove(). Initialize variable. (Yasuhiro Matsumoto,\n            closes #3979)\n"
    },
    {
      "commit": "f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d",
      "tree": "a6b07005c19279a4f5d01be14f14861c2657fa95",
      "parents": [
        "05500ece6282407f9f7227aaf564e24147326863"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:38:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:38:42 2019 +0100"
      },
      "message": "patch 8.1.0743: giving error messages is not flexible\n\nProblem:    Giving error messages is not flexible.\nSolution:   Add semsg().  Change argument from \"char_u *\" to \"char *\", also\n            for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes\n            #3302)  Also make emsg() accept a \"char *\" argument.  Get rid of\n            an enormous number of type casts.\n"
    },
    {
      "commit": "8aef43b66cf280c79a75d81f43ce5223b9044e63",
      "tree": "b9c130e77c86b18c7da28805d654734c35aebee9",
      "parents": [
        "b589f95b38ddd779d7e696abb0ea011dc92ea903"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 08 20:14:35 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 08 20:14:35 2019 +0100"
      },
      "message": "patch 8.1.0703: compiler warnings with 64-bit compiler\n\nProblem:    Compiler warnings with 64-bit compiler.\nSolution:   Change types, add type casts. (Mike Williams)\n"
    },
    {
      "commit": "4614f53e0f853b513963d1a639398348a571ecf1",
      "tree": "3d9172faf423bff164f5cad88c39b6cb0e9f7af6",
      "parents": [
        "f780b8a1c1aefb0c4b4866e50080594e3f7f16cb"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 06 12:54:55 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 06 12:54:55 2019 +0100"
      },
      "message": "patch 8.1.0694: when using text props may free memory that is not allocated\n\nProblem:    When using text props may free memory that is not allocated.\n            (Andy Massimino)\nSolution:   Allocate the line when adjusting text props. (closes #3766)\n"
    },
    {
      "commit": "4164bb204e97a2ff3d6c43cba779bdff9e853892",
      "tree": "133f8b60bbd378847ac6832630b3b9a238774214",
      "parents": [
        "21b5038e02306ce2fd438249055eed372befe51f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 04 23:09:49 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 04 23:09:49 2019 +0100"
      },
      "message": "patch 8.1.0691: text properties are not adjusted for :substitute\n\nProblem:    Text properties are not adjusted for :substitute.\nSolution:   Adjust text properties as well as possible.\n"
    },
    {
      "commit": "f2d79fa92d0ed90732f52dd88da4ad66c2c5ce13",
      "tree": "fbddf38e0c77ff8f5c45559dad3b05f942644967",
      "parents": [
        "4b7214ea7834c72188f4a7b0b76b49b81fef7d27"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 03 22:19:27 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 03 22:19:27 2019 +0100"
      },
      "message": "patch 8.1.0685: get_buf_tv() is named inconsistently\n\nProblem:    get_buf_tv() is named inconsistently.\nSolution:   Rename it to tv_get_buf(). (Yegappan Lakshmanan, closes #3759)\n"
    },
    {
      "commit": "4b7214ea7834c72188f4a7b0b76b49b81fef7d27",
      "tree": "cc04d33a89095b2fa0b80b6cac7e16b0d28bd382",
      "parents": [
        "637532b3c0ca41f0de7e90b6f3c0defe06369372"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 03 21:55:32 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 03 21:55:32 2019 +0100"
      },
      "message": "patch 8.1.0684: warnings from 64-bit compiler\n\nProblem:    Warnings from 64-bit compiler.\nSolution:   Add type casts. (Mike Williams)\n"
    },
    {
      "commit": "196d157f12cf0476d97f78834155fc67d6b161de",
      "tree": "3deba5b00cb3d25d69ae887a3491dde66096ac19",
      "parents": [
        "33c8ca923ed6d5638fa98afabb2e25b5056dd47b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 02 23:47:18 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 02 23:47:18 2019 +0100"
      },
      "message": "patch 8.1.0682: text properties not adjusted when backspacing replaced text\n\nProblem:    Text properties are not adjusted when backspacing replaced text.\nSolution:   Keep text properties on text restored in replace mode.\n"
    },
    {
      "commit": "44746aa1eb506ebe6e8fc71f6e549a0dcb754526",
      "tree": "4da24442545c3971d29668a78d354288e3fc1c90",
      "parents": [
        "866f3558141aa68862aa2fedbb7747bf2365e838"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 02 00:02:11 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 02 00:02:11 2019 +0100"
      },
      "message": "patch 8.1.0678: text properties as not adjusted for inserted text\n\nProblem:    Text properties as not adjusted for inserted text.\nSolution:   Adjust text properties when inserting text.\n"
    }
  ],
  "next": "b9c67a51c15481d9257e5c26581d17780e9808d5"
}
