)]}'
{
  "log": [
    {
      "commit": "6a46c19b2507bce632b5e67ef31e47e60a95ed10",
      "tree": "24389428984e14cf78bd5b271ab8fd97321b35e2",
      "parents": [
        "8b1e749ca6ca6d09a174c57de6999f69393ee567"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 24 15:56:34 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 24 15:58:04 2024 +0100"
      },
      "message": "patch 9.1.0134: CI: Test_term_gettitle() is flaky on MacOS 14\n\nProblem:  Test_term_gettitle() is flaky on MacOS 14 and Github runners\nSolution: Skip the test on Github CI\n\ncloses: #14085\n\nIt fails with this: \u0027^\\\\[No Name\\\\] - VIM\\\\d*$\u0027 does not match \u0027e] - VIM\u0027\nIt is not clear why term_gettitle() only get\u0027s the last part of the\nexpected title (perhaps there is a Carriage return in there or the\nterminal window is too small?)\n\nSo let\u0027s just skip this test for now.\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "8b1e749ca6ca6d09a174c57de6999f69393ee567",
      "tree": "63e1d835d7753947d548af6b744fa674164dae5e",
      "parents": [
        "048761bcd40ec630fd3e039f0066cf4e484ceabd"
      ],
      "author": {
        "name": "Erik S. V. Jansson",
        "email": "caffeineviking@gmail.com",
        "time": "Sat Feb 24 14:26:52 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 24 14:26:52 2024 +0100"
      },
      "message": "patch 9.1.0133: MS-Windows: ligatures not rendering correctly\n\nProblem:  font ligatures don\u0027t render correctly in the Win32 GUI-version\n          of gvim even when set rop\u003dtype:directx is used. Setting\n          guiligatures also doesn\u0027t make any difference. This leads to\n          broken font ligatures when the cursor passes through them. It\n          does not recover from this, and they remain broken until you\n          re-render the whole buffer (e.g. by using Ctrl+L).\n\nSolution: the problem is that we only re-draw the current and previous\n          character in gui_undraw_cursor() and only have the special case\n          for GTK when it comes to rendering ligatures. So let\u0027s enable\n          gui_adjust_undraw_cursor_for_ligatures() to also happen for\n          Win32 GUI if guiligatures is setup correctly (all this does is\n          expand the range of gui_undraw_cursor() with ligature characters).\n\nrelated: #9181\nrelated: #12901\ncloses: #14084\n\nSigned-off-by: Erik S. V. Jansson \u003ccaffeineviking@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "048761bcd40ec630fd3e039f0066cf4e484ceabd",
      "tree": "ff2ef331cffbf627627cfd47afb6b2746c7ed232",
      "parents": [
        "0dc0bff000fd804c6b0778ccc4554a4e4c82c8c9"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sat Feb 24 14:21:39 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 24 14:21:39 2024 +0100"
      },
      "message": "patch 9.1.0132: \"C\" doesn\u0027t include composing chars with \u0027virtualedit\u0027\n\nProblem:  using \"C\" and \u0027ve\u003dall\u0027 set, doesn\u0027t include composing chars\n          when changing a line, keeps the composing chars for whatever\n          is typed afterwards.\nSolution: Use mb_head_off() and mb_ptr2len() instead of mb_tail_off().\n          (zeertzjq)\n\ncloses: #14083\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "0dc0bff000fd804c6b0778ccc4554a4e4c82c8c9",
      "tree": "f9f37a3db2e9f6609366e59279b42b86ba98006b",
      "parents": [
        "abf7030a5c22257f066fa9c4061ad150d5a82577"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 24 14:12:13 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 24 14:17:33 2024 +0100"
      },
      "message": "patch 9.1.0131: buffer-completion may not always find all matches\n\nProblem:  buffer-completion code too complicated and does not always\n          find all matches (irisjae)\nSolution: do not try to anchor pattern to beginning of line or\n          directory-separator, always return all matches\n\nNote: we are considering the non-fuzzy buffer-matching here.\n\nCurrently, the buffer-completion code makes 2 attempts to match a\npattern against the list of available patterns. First try is to match\nthe pattern and anchor it to either the beginning of the file name or\nat a directory-separator (// or \\\\).\n\nWhen a match is found, Vim returns the matching buffers and does not try\nto find a match anywhere within a buffer name. So if you have opened two\nbuffers like /tmp/Foobar.c and /tmp/MyFoobar.c using `:b Foo` will only\ncomplete to the first filename, but not the second (the same happens\nwith `getcompletion(\u0027Foo\u0027, \u0027buffer\u0027)`).\n\nIt may make sense, that completion priorities buffer names at directory\nboundaries, but it inconsistent, may cause confusion why a certain\nbuffer name is not completed when typing `:b Foo\u003cC-D\u003e` which returns\nonly a single file name and then pressing Enter (to switch to that\nbuffer), Vim will error with \u0027E93: More than one match for Foo\u0027).\nSimilar things may happen when wiping the /tmp/Foobar.c pattern and\nafterwards the completion starts completing other buffers.\n\nSo let\u0027s simplify the code and always match the pattern anywhere in the\nbuffer name, do not try to favor matches at directory boundaries. This\nis also simplifies the code a bit, we do not need to run over the list\nof buffers several times, but only twice.\n\nfixes #13894\ncloses: #14082\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "abf7030a5c22257f066fa9c4061ad150d5a82577",
      "tree": "184d5d96f930bd0bb36324b8943cd34749332bfe",
      "parents": [
        "f548ae7b6357c7934411df243bc987800c9b76d1"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "6256228+seandewar@users.noreply.github.com",
        "time": "Sat Feb 24 10:20:24 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 24 10:20:24 2024 +0100"
      },
      "message": "patch 9.1.0130: [security]: UAF if win_split_ins autocommands delete \"wp\"\n\nProblem:  heap-use-after-free in win_splitmove if Enter/Leave\n          autocommands from win_split_ins immediately closes \"wp\".\nSolution: check that \"wp\" is valid after win_split_ins.\n          (Sean Dewar)\n\ncloses: #14078\n\nSigned-off-by: Sean Dewar \u003c6256228+seandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f548ae7b6357c7934411df243bc987800c9b76d1",
      "tree": "535f636866aa6e5a21dedc6351badd388758be55",
      "parents": [
        "a35235e824bb77df0cebdb2bd290e13f1201b292"
      ],
      "author": {
        "name": "Dylan Thacker-Smith",
        "email": "dylan.ah.smith@gmail.com",
        "time": "Sat Feb 24 10:17:11 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 24 10:17:11 2024 +0100"
      },
      "message": "patch 9.1.0129: Fix truncation of text_wrap \u0027wrap\u0027 virt text after EOL list char\n\nProblem:  Virtual text with text_wrap \u0027wrap\u0027 was effectively being\n          truncated by a break conditional on the EOL list character\n          being added to the screen line. (BigPeet)\nSolution: Remove the condition that was leading to the early break and\n          instead fix a similar but incorrectly written outer condition\n          that checks if there is more to add at the end of the screen\n          line. (Dylan Thacker-Smith)\n\nAlso, related:\n- update comment in win_line()\n- remove no longer necessary at_end_str variable in win_line()\n\nfixes: #12725\ncloses: #14079\n\nCo-authored-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Dylan Thacker-Smith \u003cdylan.ah.smith@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "2a65e739447949a7aee966ce8a3b75521b2a79ea",
      "tree": "5d539accc41476eb1890ea81cf6728bffb545e64",
      "parents": [
        "5e3674b42da10b7e7c72d1f20f9a15379af1b60a"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "6256228+seandewar@users.noreply.github.com",
        "time": "Thu Feb 22 19:53:33 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 22 19:53:33 2024 +0100"
      },
      "message": "patch 9.1.0128: win_gotoid() may abort even when not switching a window\n\nProblem:  win_gotoid() checks for textlock and other things when switching\n          to a window that is already current (after v9.1.0119)\nSolution: return early with success when attempting to switch to curwin\n          (Sean Dewar)\n\nOther potential causes of E565 from win_gotoid after v9.1.0119 should be\ncorrect. Plugins can consider using win_execute() instead if they wish to\ntemporarily switch windows during textlock.\n\nfixes: #14073\ncloses: #14074\n\nSigned-off-by: Sean Dewar \u003c6256228+seandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "5e3674b42da10b7e7c72d1f20f9a15379af1b60a",
      "tree": "6e0ca6ba74b097a3cc51d0aaa50a46a919ee5122",
      "parents": [
        "421b597470c118871c7081de00dd065e0e000b7e"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Thu Feb 22 19:51:34 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 22 19:51:34 2024 +0100"
      },
      "message": "patch 9.1.0127: Naming a non-pointer variable \"oap\" is strange\n\nProblem:  Naming a non-pointer variable \"oap\" is strange.\nSolution: Rename it to \"oa\". Also prevent using freed memory in case of\n          memory allocation failure. (zeertzjq)\n\ncloses: #14075\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "421b597470c118871c7081de00dd065e0e000b7e",
      "tree": "468685895448cd96be6befa3e1df9cda1ed72a3d",
      "parents": [
        "1624970d321cfb637ac76232df9c9b3f2fae904c"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Thu Feb 22 19:48:06 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 22 19:48:06 2024 +0100"
      },
      "message": "patch 9.1.0126: Internal error when using upper-case mark in getregion()\n\nProblem:  Internal error when passing mark in another buffer to\n          getregion().\nSolution: Don\u0027t allow marks in another buffer (zeertzjq)\n\ncloses: #14076\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nInternal error when passing mark in another buffer to getregion()\n"
    },
    {
      "commit": "83925be1e68445f7f6a377b7735f93fbc8689003",
      "tree": "cd6d0793151d641ef064fe4e5fdd3188201355da",
      "parents": [
        "8055721c2d30f21cfabe7453014f526e7becfc06"
      ],
      "author": {
        "name": "Dylan Thacker-Smith",
        "email": "dylan.ah.smith@gmail.com",
        "time": "Wed Feb 21 21:03:10 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 21 21:03:10 2024 +0100"
      },
      "message": "patch 9.1.0125: unused init of text_prop_idxs in win_line()\n\nProblem:  unused init of text_prop_idxs in win_line\nSolution: Remove it, fix typo\n          (Dylan Thacker-Smith)\n\nLater use of text_prop_idxs treats it as empty, incrementing\ntext_props_active as new elements are added to this array, so remove\nthis unused conditional initialization when text_props_active is 0.\n\ncloses: #14063\n\nSigned-off-by: Dylan Thacker-Smith \u003cdylan.ah.smith@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "8055721c2d30f21cfabe7453014f526e7becfc06",
      "tree": "4e6d72393c68879f95ccdc4a7ee8513dc4fc7294",
      "parents": [
        "ec9c32637f566f38d097c566209d85d697182153"
      ],
      "author": {
        "name": "Dylan Thacker-Smith",
        "email": "dylan.ah.smith@gmail.com",
        "time": "Wed Feb 21 21:00:59 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 21 21:00:59 2024 +0100"
      },
      "message": "patch 9.1.0124: display of below/right virtual text with non-virtual text overlap\n\nProblem:  Virtual text with text_align \u0027right\u0027/\u0027below\u0027 wasn\u0027t being\n          used when a non-virtual text property overlaps with the end of\n          the line. This was because the non-virtual text property had a\n          higher priority, preventing the virtual text from being used.\nSolution: Fix the sorting of text properties so virtual text properties\n          have a higher priority than non-virtual text properties.\n          (Dylan Thacker-Smith)\n\nrelated: #14063\n\nSigned-off-by: Dylan Thacker-Smith \u003cdylan.ah.smith@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "52ecc76c7fa1865603f27bc838efaeaa03cad77c",
      "tree": "6bf0b671bd102a7537dc1320bcfa52d26e3d7ba9",
      "parents": [
        "9ca335aad295fdaf4b75d3969b093422c1cc48ee"
      ],
      "author": {
        "name": "GuyBrush",
        "email": "miguel.barro@live.com",
        "time": "Wed Feb 21 20:16:38 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 21 20:16:38 2024 +0100"
      },
      "message": "patch 9.1.0123: MS-Windows: system() may deadlock\n\nProblem:  MS-Windows: system() may deadlock when calling binaries that\n          expect stdin\nSolution: Ignore the SHELL_EXPAND flag\n          (GuyBrush)\n\nThis happens on binaries that expect stdin. For example:\n\n:echo system(\"xxd\")\n\nwill cause a deadlock.\n\nSHELL_EXPAND is a flag devoted to support the linux implementation of\nthe backtick-expansion mechanism.\n\nOn linux backtic-expansion relies in the function mch_expand_wildchars()\n(os_unix.c) that delegates on each specific shell (bash, sh, csh, zsh)\nthe expansion. Basically it composes a shell command that does the\nexpansion and redirects the output to a file and call_shell() it. On\nwindows backtick-expansion is performed by Vim itself.\n\nOn linux SHELL_EXPAND modifies how mch_call_shell_fork() (os_unix.c)\nworks. This function:\n\n- relies on posix fork() to spawn a child process to execute a\n  external command.\n- Child and parent process communicate using pipes (or pseudoterminal\n  if available).\n  User input (type ahead content) is processed in a loop only if\n  !(SHELL_EXPAND || SHELL_COOKED).\n  Though signals are used to detect Ctrl-C in all cases (the input\n  loop is not necessary to interrupt the function).\n  In the backtick-expansion the external command is the shell command\n  that provides the expansion. For the child redirection:\n  -  SHELL_EXPAND replaces stdin, stdout \u0026 stderr to /dev/null. This is\n     why the shell command composed includes redirection (otherwise\n     output would be lost).\n\n  -  !SHELL_EXPAND replaces stdin, stdout \u0026 stderr with the parent\n     created pipes (or pseudoterminal).\n     Note that the use of SIGINT signal prevents mch_call_shell_fork()\n     from hanging vim.\n\nOn Windows mch_system_piped() (os_win32.c) (which is only used when the\nGUI is running) mimics mch_call_shell_fork() (os_unix.c).\nWin32 lacks fork() and relies on CreateProcessW() and only has pipe\nsupport (not pseudoterminal) which makes the implementation much\ndifferent.\n\nBut, the key idea is that windows lacks signals, the OS provides support\nfor console apps but gvim is not one. The only way of detecting a Ctrl-C\nis actually processing user input (type ahead content). By ignoring the\nuser input under SHELL_EXPAND the function can hang gvim.\n\nIgnoring SHELL_EXPAND flag has no consequence in Windows because as\nmentioned above it is only meaningful in linux.\n\ncloses: #13988\n\nSigned-off-by: GuyBrush \u003cmiguel.barro@live.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "9ca335aad295fdaf4b75d3969b093422c1cc48ee",
      "tree": "50dd626962e36ad721c75faabf762b5a2e5c6755",
      "parents": [
        "e8f6af60917862d04a82efb9e900200fd36f798d"
      ],
      "author": {
        "name": "Maxim Kim",
        "email": "habamax@gmail.com",
        "time": "Wed Feb 21 19:48:37 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 21 19:53:02 2024 +0100"
      },
      "message": "patch 9.1.0122: Some minor issues with the getregion() function\n\nProblem:  Some minor issues with the getregion() function\nSolution: Fix examples in the help, use OP_NOP op_type and MBLOCK\n          as motion_type in f_getreg(), update vim syntax to\n          for getregion() (Maxim Kim)\n\n```\n:xnoremap \u003cCR\u003e\n\\ \u003cCmd\u003eechow getregion(\u0027v\u0027, \u0027.\u0027, mode())\u003cCR\u003e\n```\n`echo` while in visual mode has no visible effect, thus people trying\nexample might be frustrated as it looks like nothing happens.\n\nSo the option is to change it to `echow` or `echom`.\nWith `echom` it is again has no visible effect but one can at least inspect `:messages`.\nOn the other hand `echow` showes selected text in a popup window.\n\n```\nCan also be used as a |method|: \u003e\n\u0027.\u0027-\u003egetregion(\"\u0027a\u0027, \u0027v\u0027)\n```\n\nHere is the typo, which makes example invalid, should be `(\"\u0027a\", ...`\n\ncloses: #14064\n\nSigned-off-by: Maxim Kim \u003chabamax@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "02fcae02a926e4e8379d77fb716da4202029882d",
      "tree": "01ee180ae7ee548383c405ca06a8f7f965032c96",
      "parents": [
        "3f905ab3c4f66562f4a224bf00f49d98a0b0da91"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "6256228+seandewar@users.noreply.github.com",
        "time": "Wed Feb 21 19:40:44 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 21 19:40:44 2024 +0100"
      },
      "message": "patch 9.1.0121: Infinite loop or signed overflow with \u0027smoothscroll\u0027\n\nProblem:  infinite loop in win_update with \u0027smoothscroll\u0027 set when\n          window width is equal to textoff, or signed integer overflow\n          if smaller.\nSolution: don\u0027t revalidate wp-\u003ew_skipcol in that case, as no buffer text\n          is being shown. (Sean Dewar)\n\nDon\u0027t instead reset w_skipcol; that would lose the scroll position\nwithin the line, which may be undesirable if the window is made wider\nlater.\n\nAlso include changes from the splitmove PR #14042 that I (in my infinite\nGit wisdom) forgot to commit. This includes a change to\nTest_window_split_no_room to ensure it doesn\u0027t fail for some screen\nsizes.\n\nMove Test_smoothscroll_in_zero_width_window to test_scroll_opt.vim, as\nthat file feels more appropriate.\n\ncloses: #14068\n\nSigned-off-by: Sean Dewar \u003c6256228+seandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "3f905ab3c4f66562f4a224bf00f49d98a0b0da91",
      "tree": "af43d2032e101b700ec3c9ac6f9bb318f256c310",
      "parents": [
        "f865895c874b0936b0563ebfef7490aac8cb8a1f"
      ],
      "author": {
        "name": "Shougo Matsushita",
        "email": "Shougo.Matsu@gmail.com",
        "time": "Wed Feb 21 00:02:45 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 21 00:02:45 2024 +0100"
      },
      "message": "patch 9.1.0120: hard to get visual region using Vim script\n\nProblem:  hard to get visual region using Vim script\nSolution: Add getregion() Vim script function\n          (Shougo Matsushita, Jakub Łuczyński)\n\ncloses: #13998\ncloses: #11579\n\nCo-authored-by: \u003d?UTF-8?q?Jakub\u003d20\u003dC5\u003d81uczy\u003dC5\u003d84ski?\u003d \u003cdoubleloop@o2.pl\u003e\nCo-authored-by: Shougo Matsushita \u003cShougo.Matsu@gmail.com\u003e\nSigned-off-by: Shougo Matsushita \u003cShougo.Matsu@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f865895c874b0936b0563ebfef7490aac8cb8a1f",
      "tree": "0fbc88c23ac8df82c63b38b59c763438c8348b68",
      "parents": [
        "704966c2545897dfcf426dd9ef946aeb6fa80c38"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "6256228+seandewar@users.noreply.github.com",
        "time": "Tue Feb 20 22:05:10 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 20 22:05:10 2024 +0100"
      },
      "message": "patch 9.1.0119: can move away from cmdwin using win_splitmove()\n\nProblem:  can switch windows while textlocked via f_win_gotoid and\n          f_win_splitmove (which also allows switching in the cmdwin).\nSolution: Check text_or_buf_locked in f_win_splitmove()\n          (Sean Dewar)\n\nWhile at it, call text_or_buf_locked() in f_win_gotoid() instead of\ntesting for cmdwin_type() (which text_buf_locked() does and\nin addition will also verify that the buffer is not locked).\n\ncloses: #14042\n\nSigned-off-by: Sean Dewar \u003c6256228+seandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "704966c2545897dfcf426dd9ef946aeb6fa80c38",
      "tree": "a885bfc35d182242ca75d1a000638e97b72d6f08",
      "parents": [
        "96cc4aef3d47d0fd70e68908af3d48a0dce8ea70"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "6256228+seandewar@users.noreply.github.com",
        "time": "Tue Feb 20 22:00:33 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 20 22:00:33 2024 +0100"
      },
      "message": "patch 9.1.0118: Use different restoration strategy in win_splitmove\n\nProblem:  saving and restoring all frames to split-move is overkill now\n          that WinNewPre is not fired when split-moving.\nSolution: defer the flattening of frames until win_split_ins begins\n          reorganising them, and attempt to restore the layout by\n          undoing our changes. (Sean Dewar)\n\nThis also means we no longer must allocate.\n\nrelated: #14042\n\nSigned-off-by: Sean Dewar \u003c6256228+seandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "96cc4aef3d47d0fd70e68908af3d48a0dce8ea70",
      "tree": "c03c09e722515ed74ceea5e43e220334e0ec38af",
      "parents": [
        "0fd44a5ad81ade342cb54d8984965bdedd2272c8"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "6256228+seandewar@users.noreply.github.com",
        "time": "Tue Feb 20 21:52:31 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 20 21:52:31 2024 +0100"
      },
      "message": "patch 9.1.0117: Stop split-moving from firing WinNew and WinNewPre autocommands\n\nProblem:  win_splitmove fires WinNewPre and possibly WinNew when moving\n          windows, even though no new windows are created.\nSolution: don\u0027t fire WinNew and WinNewPre when inserting an existing\n          window, even if it isn\u0027t the current window. Improve the\n          accuracy of related documentation. (Sean Dewar)\n\nLikewise, before this patch, WinClosed was not fired anyway (even for :wincmd\nH/J/K/L, which also didn\u0027t fire WinNew, but did still fire WinNewPre), despite\ndocumentation saying windows are \"closed\". Note that :wincmd T actually indeed\nworks by creating a new window (and closing the old one), unlike the others.\n\nThis also fixes issues where WinNewPre is fired when split-moving while curwin\ndoesn\u0027t yet have a frame or entry in the window list, causing many things to not\nwork (it\u0027s not considered valid at that point). This was guaranteed when using\n:wincmd H/J/K/L.\n\nBecause WinNewPre is no longer fired when split-moving, this makes restoring the\nprevious window layout on failure easier, as we can be sure that frames are not\nresized from WinNewPre autocommands if win_split_ins fails. This allows us to\nuse a different strategy in the following commit.\n\n--\n\nIn my opinion, this leaves questions about the current usefulness of WinNewPre.\nA motivation described in #10635 states how creating a new window can steal room\nfrom other windows, and how WinNewPre will be useful for detecting that, but\nthis is also true when inserting an existing window, which now doesn\u0027t fire it.\nMaybe the autocommand should be changed to have a better name?\n\nThere are also other issues I found with the current implementation of WinNewPre\nthat need addressing:\n\n- it allows switching windows and tabpages, which can cause incorrect windows to\n  be split/moved, and big problems when switching tabpages.\n\n- it fires before win_split_ins checks for room, before it makes any changes to\n  window sizes or before it considers allocating a new window. This should be\n  changed or documented.\n\nI hope to address some of this stuff in a different PR, if possible.\n\nrelated: #14038\n\nSigned-off-by: Sean Dewar \u003c6256228+seandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "0fd44a5ad81ade342cb54d8984965bdedd2272c8",
      "tree": "5216a619a29fec38045aa617717ced39b7d55685",
      "parents": [
        "15935e7f54f0e00782a55ebc39a68e4cd94c2571"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "6256228+seandewar@users.noreply.github.com",
        "time": "Tue Feb 20 20:28:15 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 20 20:35:41 2024 +0100"
      },
      "message": "patch 9.1.0116: win_split_ins may not check available room\n\nProblem:  win_split_ins has no check for E36 when moving an existing\n          window\nSolution: check for room and fix the issues in f_win_splitmove()\n          (Sean Dewar)\n\nwin_split_ins has no check for E36 when moving an existing window,\nallowing for layouts with many overlapping zero-sized windows to be\ncreated (which may also cause drawing issues with tablines and such).\nf_win_splitmove also has some bugs.\n\nSo check for room and fix the issues in f_win_splitmove. Handle failure\nin the two relevant win_split_ins callers by restoring the original\nlayout, and factor the common logic into win_splitmove.\n\nDon\u0027t check for room when opening an autocommand window, as it\u0027s a\ntemporary window that\u0027s rarely interacted with or drawn anyhow, and is\nrather important for some autocommands.\n\nIssues fixed in f_win_splitmove:\n- Error if splitting is disallowed.\n- Fix heap-use-after-frees if autocommands fired from switching to \"targetwin\"\n  close \"wp\" or \"oldwin\".\n- Fix splitting the wrong window if autocommands fired from switching to\n  \"targetwin\" switch to a different window.\n- Ensure -1 is returned for all errors.\n\nAlso handle allocation failure a bit earlier in make_snapshot (callers,\nexcept win_splitmove, don\u0027t really care if a snapshot can\u0027t be made, so\njust ignore the return value).\n\nNote: Test_smoothscroll_in_zero_width_window failed after these changes with\nE36, as it was using the previous behaviour to create a zero-width window.\nI\u0027ve fixed the test such that it fails with UBSAN as expected when v9.0.1367 is\nreverted (and simplified it too).\n\nrelated: #14042\n\nSigned-off-by: Sean Dewar \u003c6256228+seandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c86bff1771ed9c340f8f4433ae5530fd6de97980",
      "tree": "e36a2fc5b221480d2b7a0266298159c2232d855e",
      "parents": [
        "026b17404aa3b6e01c4ee5f14a174f33c53f4401"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sun Feb 18 18:53:08 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Feb 18 18:57:07 2024 +0100"
      },
      "message": "patch 9.1.0115: Using freed memory with full tag stack and user data\n\nProblem:  Using freed memory with full tag stack and user data\n          (Konstantin Khlebnikov)\nSolution: Clear the user data pointer of the newest entry.\n          (zeertzjq, Konstantin Khlebnikov)\n\nfixes: neovim/neovim#27498\ncloses: #14053\n\nCo-authored-by: Konstantin Khlebnikov koct9i@gmail.com\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Konstantin Khlebnikov koct9i@gmail.com\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fcaed6a70faf73bff3e5405ada556d726024f866",
      "tree": "5dae7674b1115ae5298940a54e54d9f97975b1d9",
      "parents": [
        "79230f027a25ff12eb7c7b64e1c063297876aae2"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sun Feb 18 09:33:54 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Feb 18 09:33:54 2024 +0100"
      },
      "message": "patch 9.1.0114: Setting some options may change curswant\n\nProblem:  Setting some options changes curswant unnecessarily.\nSolution: Add a P_HLONLY flag that prevents changing curswant.\n          (zeertzjq)\n\ncloses: #14044\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "9071ed8107244e0c56a16b77d1c28e975cb21dd2",
      "tree": "81dbf77196eba6af7b99de1785d7e2b5b4dfda68",
      "parents": [
        "f0d3d4a42657dca996e790aa829de3c6be7fdb63"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 15 20:17:37 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 15 20:17:37 2024 +0100"
      },
      "message": "patch 9.1.0113: duplicate code when cleaning undo stack\n\nProblem:  duplicate code when cleaning undo stack\nSolution: refactor undo cleanup into a single public function\n\nrelated: #13928\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f0d3d4a42657dca996e790aa829de3c6be7fdb63",
      "tree": "1e380271778190d857c437bd89123ad8d82562cf",
      "parents": [
        "d00fb4b3a237b375de5a1f453c8453b8b3797d51"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 15 20:15:04 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 15 20:15:04 2024 +0100"
      },
      "message": "patch 9.1.0112: Remove undo information, when cleaning quickfix buffer\n\nProblem:  When the quickfix buffer has been modified an autocommand\n          may invalidate the undo stack (kawarimidoll)\nSolution: When clearing the quickfix buffer, also wipe the undo stack\n\nfixes: #13905\ncloses: #13928\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "d00fb4b3a237b375de5a1f453c8453b8b3797d51",
      "tree": "98b8af458abc1b1b2d89201ad7a595cb4b4583a0",
      "parents": [
        "5f20f050efed3431beaf85739f0113e9ef0abd8e"
      ],
      "author": {
        "name": "Brandon Maier",
        "email": "brandon.maier@collins.com",
        "time": "Thu Feb 15 00:16:02 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 15 00:17:05 2024 +0100"
      },
      "message": "patch 9.1.0111: filetype: no support for bats files\n\nThe \u0027*.bats\u0027 file type is for Bash Automated Testing System (BATS)\nscripts. BATS scripts are Bash with a special \u0027@test\u0027 extension but they\notherwise work with Vim\u0027s bash filetype.\n\nSee https://github.com/bats-core/bats-core\n\ncloses: #14039\n\nSigned-off-by: Brandon Maier \u003cbrandon.maier@collins.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "5f20f050efed3431beaf85739f0113e9ef0abd8e",
      "tree": "e188d1cb4d7c1b2ae68cafab09e097d9f29f6b40",
      "parents": [
        "1da0e85816718a1d45ca60b3581c62df4e352c91"
      ],
      "author": {
        "name": "Brandon Maier",
        "email": "brandon.maier@collins.com",
        "time": "Wed Feb 14 22:30:06 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 14 22:30:06 2024 +0100"
      },
      "message": "patch 9.1.0110: filetype: add \u0027Config.in\u0027 filetype detection\n\nThe \u0027Config.in\u0027 file type is for Buildroot configuration files.\nBuildroot Config.in files use the same Kconfig backend as the Linux\nkernel\u0027s Kconfig files.\n\nBuildroot also has other filename variants that follow \"Config.in.*\",\nthey are used to distinguish multiple Config.in files in the same\ndirectory.\n\nSee https://buildroot.org/downloads/manual/manual.html#_literal_config_in_literal_file\n\ncloses: #14038\n\nSigned-off-by: Brandon Maier \u003cbrandon.maier@collins.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "cf1d65e060e32ba8a0ba99fc299dc192fe4aa961",
      "tree": "28827b694323d2f73b78a19e610503d3f7283752",
      "parents": [
        "1633de8c35fd1941d849c7b6a4ffa34445c4234b"
      ],
      "author": {
        "name": "Brandon Maier",
        "email": "brandon.maier@collins.com",
        "time": "Wed Feb 14 21:31:47 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 14 21:33:40 2024 +0100"
      },
      "message": "patch 9.1.0109: filetype: no support for its files\n\nProblem:  filetype: no support for its files\nSolution: Add detection for *.its files as dts file type\n          (Brandon Maier)\n\nThe \u0027*.its\u0027 file type is for U-Boot Flattened Image Trees (FIT) which\nuse the flattened devicetree format.\n\nSee https://github.com/u-boot/u-boot/blob/master/doc/usage/fit/source_file_format.rst#terminology\n\ncloses: #14037\n\nSigned-off-by: Brandon Maier \u003cbrandon.maier@collins.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "b1700fb33fe02838d679b9215e501455cf4c1156",
      "tree": "e9f1656059c425999e15d95dbdeb85007033b575",
      "parents": [
        "49f2ba6d41d3c6142deaa4a50b0b16e03969a904"
      ],
      "author": {
        "name": "Markus Schneider-Pargmann",
        "email": "msp@baylibre.com",
        "time": "Wed Feb 14 20:44:28 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 14 20:44:28 2024 +0100"
      },
      "message": "patch 9.1.0108: filetype: no support for dtso files\n\nProblem:  filetype: no support for dtso files\nSolution: Add detection for *.dtso files as dts file type\n          (Markus Schneider-Pargmann)\n\n*.dtso files are devicetree overlay files which have the same syntax as dts or dtsi files.\n\ncloses: #14026\n\nSigned-off-by: Markus Schneider-Pargmann \u003cmsp@baylibre.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "49f2ba6d41d3c6142deaa4a50b0b16e03969a904",
      "tree": "b0b83e539025b287aab24fa15bf8cab9b0b1861a",
      "parents": [
        "34e4a05d02a016fe230495be8f6c60ddd56f9567"
      ],
      "author": {
        "name": "Yee Cheng Chin",
        "email": "ychin.git@gmail.com",
        "time": "Wed Feb 14 20:34:58 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 14 20:34:58 2024 +0100"
      },
      "message": "patch 9.1.0107: CI: Fix MacOS-14 tests\n\nProblem:  CI: Fix MacOS-14 tests (after 9.1.0070)\nSolution: Re-enable sound tests by granting Mic access,\n          disable Test_diff_screen because of buggy MacOS diff\n          (non GNU version), re-enable Test_term_gettitle()\n          (Yee Cheng Chin)\n\nmacos-14 runner was turned on in #13943, but it had to turn off a few\ntests in order for CI to run. Re-enable them and fix the underlying\nissues.\n\n* `Test_diff_screen`: The test failure is due to a bug in Apple\u0027s diff\n  utility. Apple introduced a new diff tool based on FreeBSD in macOS 13\n  and it has buggy behaviors when using unified diff (`-U0`) and the\n  diff is on the first line of the file. Simply disable this test for\n  now if we detect Apple diff (instead of the old GNU diff). Can\n  re-enable this in the future if Apple fixes the issue.\n* `Test_play_event` / `Test_play_silent`: GitHub Actions currently has\n  an issue with playing sound in CI in macos-14 runners. It for some\n  reason triggers a microphone permission dialog popup which blocks the\n  CI action (see https://github.com/actions/runner-images/issues/9330).\n  To fix this, add a temporary step in macos-14 to manually allow\n  microphone permissions in the runner.\n* `Test_term_gettitle`: I could not reproduce the failure, so I just\n  turned it on and it seems to run just fine. Maybe it\u0027s a timing issue\n  and whatnot but either way that should be fixed when we can reproduce\n  the issue.\n\ncloses: #14032\n\nSigned-off-by: Yee Cheng Chin \u003cychin.git@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "34e4a05d02a016fe230495be8f6c60ddd56f9567",
      "tree": "27d24ccac03fbf260c89c981979ec6e94fad9b5b",
      "parents": [
        "9b53c052d58f73f2078c61a74622687306e51c17"
      ],
      "author": {
        "name": "Maxim Kim",
        "email": "habamax@gmail.com",
        "time": "Wed Feb 14 20:28:17 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Feb 14 20:28:17 2024 +0100"
      },
      "message": "patch 9.1.0106: Visual highlight hard to read with \u0027termguicolors\u0027\n\nProblem:  Visual highlight hard to read with \u0027termguicolors\u0027\n          (Maxim Kim)\nSolution: Set Visual GUI foreground to black (with background\u003dlight)\n          and lightgrey (with background\u003ddark)\n          (Maxim Kim)\n\nfixes: #14024\ncloses: #14025\n\nSigned-off-by: Maxim Kim \u003chabamax@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e71022082d6a8bd8ec3d7b9dadf3f9ce46ef339c",
      "tree": "a9013c4febc347946d49036960b0a9dde4079a0f",
      "parents": [
        "2f9aef42af94f6d68f37f6e9b8cb878e88ed12bf"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Tue Feb 13 20:32:04 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 13 20:32:04 2024 +0100"
      },
      "message": "patch 9.1.0105: Style: typos found\n\nProblem:  Style: typos found\nSolution: correct them\n          (zeertzjq)\n\ncloses: #14023\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "2f9aef42af94f6d68f37f6e9b8cb878e88ed12bf",
      "tree": "257b645217b37e1f1f830afbfd7c0a76e686f503",
      "parents": [
        "f0a9d65e0a1d693cdfa964aa72de5b93b4cacdea"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Feb 12 23:12:26 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Feb 12 23:14:19 2024 +0100"
      },
      "message": "patch 9.1.0104: Linking fails with -lto because of PERL_CFLAGS\n\nProblem:  Linking fails with -lto because of PERL_CFLAGS\n          (Zoltan Toth)\nSolution: Filter out -flto argument from Perl CFLAGS.\n\nfixes: #14012\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f0a9d65e0a1d693cdfa964aa72de5b93b4cacdea",
      "tree": "a7bcca9cd0529aca96d62ff1b7bf8f96a00f11c3",
      "parents": [
        "b47fbb40837512cdd2d8c25eaf9952154836b99d"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Mon Feb 12 22:53:20 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Feb 12 22:53:20 2024 +0100"
      },
      "message": "patch 9.1.0103: \u0027breakindentopt\u0027 \"min\" not correct with \u0027signcolumn\u0027\n\nProblem:  \u0027breakindentopt\u0027 \"min\" works incorrectly with \u0027signcolumn\u0027.\nSolution: Use win_col_off() and win_col_off2().\n          (zeertzjq)\n\ncloses: #14014\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "b47fbb40837512cdd2d8c25eaf9952154836b99d",
      "tree": "061117c7cffb729024887ab621cdaf1de55b4795",
      "parents": [
        "bd1232a1faf56b614a1e74c4ce51bc6e0650ae00"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Mon Feb 12 22:50:26 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Feb 12 22:50:26 2024 +0100"
      },
      "message": "patch 9.1.0102: settabvar() may change the last accessed tabpage\n\nProblem:  settabvar() may change the last accessed tabpage.\nSolution: Save and restore lastused_tabpage.\n          (zeertzjq)\n\ncloses: #14017\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "bd1232a1faf56b614a1e74c4ce51bc6e0650ae00",
      "tree": "e4037f4cfb6ccddad1a599be613fd456e33b094f",
      "parents": [
        "f2d90a351159fd6843f450850f52004f42e00183"
      ],
      "author": {
        "name": "glepnir",
        "email": "glephunter@gmail.com",
        "time": "Mon Feb 12 22:14:53 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Feb 12 22:39:40 2024 +0100"
      },
      "message": "patch 9.1.0101: upper-case of German sharp s should be U+1E9E\n\nProblem:  upper-case of ß should be U+1E9E (CAPITAL LETTER SHARP S)\n          (fenuks)\nSolution: Make gU, ~ and g~ convert the U+00DF LATIN SMALL LETTER SHARP S (ß)\n          to U+1E9E LATIN CAPITAL LETTER SHARP S (ẞ), update tests\n          (glepnir)\n\nThis is part of Unicode 5.1.0 from April 2008, so should be fairly safe\nto use now and since 2017 is part of the German standard orthography,\naccording to Wikipedia:\nhttps://en.wikipedia.org/wiki/Capital_%E1%BA%9E#cite_note-auto-12\n\nThere is however one exception: UnicodeData.txt for U+00DF\nLATIN SMALL LETTER SHARP S does NOT define U+1E9E LATIN CAPITAL LETTER\nSHARP S as its upper case version. Therefore, toupper() won\u0027t be able\nto convert from lower sharp s to upper case sharp s (the other way\naround however works, since U+00DF is considered the lower case\ncharacter of U+1E9E and therefore tolower() works correctly for the\nupper case version).\n\nfixes: #5573\ncloses: #14018\n\nSigned-off-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f2d90a351159fd6843f450850f52004f42e00183",
      "tree": "b568a8b2eaf3cc33bba3af800c14f613b2b18cc3",
      "parents": [
        "a0010a186d93187d2b69b857d75db8a1e01049bb"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Mon Feb 12 20:28:01 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Feb 12 20:28:01 2024 +0100"
      },
      "message": "patch 9.1.0100: Redrawing can be improved with undo and \u0027spell\u0027\n\nProblem:  When undoing with \u0027spell\u0027, redrawWinline() is called after\n          changed_lines(), while later win_update() sets redraw type to\n          UPD_NOT_VALID, even though w_redraw_top and w_redraw_bot are\n          still valid.\nSolution: Only set redraw type to UPD_NOT_VALID when inserting/deleting\n          lines after parts of window has pending redraw, i.e., when\n          changed_lines() is called after redrawWinline().\n          (zeertzjq)\n\ncloses: #14019\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "a0010a186d93187d2b69b857d75db8a1e01049bb",
      "tree": "5ec733566b066d5d053a38fe2117ac5bad68e6ad",
      "parents": [
        "6d91227267a5f7e21fc9b30443687618e92751bf"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Feb 12 20:21:26 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Feb 12 20:24:56 2024 +0100"
      },
      "message": "patch 9.1.0099: Not able to use diff() with \u0027diffexpr\u0027\n\nProblem:  Not able to use diff() with \u0027diffexpr\u0027\n          (rickhowe, after v9.1.0096)\nSolution: Use a default context length of 0, update diff() help text,\n          add a test for using diff() with \u0027diffexpr\u0027\n          (Yegappan Lakshmanan)\n\ncloses: #14013\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "0d3c0a66a39570cbc52b9536604c39e324b989b3",
      "tree": "786f5f41c0f365793c89dbf60c1457cabab492cb",
      "parents": [
        "efabd7c8d4f733350364356b8950a11f013aec49"
      ],
      "author": {
        "name": "glepnir",
        "email": "glephunter@gmail.com",
        "time": "Sun Feb 11 17:52:40 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Feb 11 17:52:40 2024 +0100"
      },
      "message": "patch 9.1.0098: CompletionChanged not triggered when new leader added without matches\n\nProblem:  CompletionChanged not triggered when new leader added causing\n          no matching item in the completion menu\nSolution: When completion is active but no items matched still trigger\n          CompletChanged event\n          (glepnir)\n\ncloses: #13982\n\nSigned-off-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "efabd7c8d4f733350364356b8950a11f013aec49",
      "tree": "4f98be4825f10911b6eb520904c0fafd2bcf745e",
      "parents": [
        "b614b284ee06523511308f8381b47db34d921d39"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sun Feb 11 17:16:19 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Feb 11 17:16:19 2024 +0100"
      },
      "message": "patch 9.1.0097: \u0027breakindent\u0027 behaves inconsistently with \u0027list\u0027 and splits\n\nProblem:  \u0027breakindent\u0027 behaves inconsistently with \u0027list\u0027 and splits.\nSolution: Use \u0027listchars\u0027 from the correct window and handle caching\n          properly. Move cheaper comparisons to the top.\n          (zeertzjq)\n\ncloses: #14008\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "be156a31c5400eb12025e480c477b1df88244801",
      "tree": "27e16b25112d7087ecb1f82d34c2ac612d04d3e4",
      "parents": [
        "52eb0b867704e43049cb396e64cadb5bd9a3ad0b"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Feb 11 17:08:29 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Feb 11 17:08:29 2024 +0100"
      },
      "message": "patch 9.1.0096: diff() function uses \u0027diffexpr\u0027\n\nProblem:  diff() function uses \u0027diffexpr\u0027\n          (rickhowe)\nSolution: Make diff() always use internal diff(), add support for\n          unified diff context length, sort diff() options in help\n          (Yegappan Lakshmanan)\n\nfixes: #13989\ncloses: #14010\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "52eb0b867704e43049cb396e64cadb5bd9a3ad0b",
      "tree": "e1de43d598ab77382678df0a8d55a954d3359ae2",
      "parents": [
        "00221487731ea1868c57259c7aa0eb713cd7ade7"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 10 13:50:54 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 10 13:50:54 2024 +0100"
      },
      "message": "patch 9.1.0095: tests: test_restricted() fails\n\nProblem:  tests: test_restricted() fails\n          (after: v9.1.0091)\nSolution: Add a space before the pipecmd and the actual Vim command to\n          run\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "00221487731ea1868c57259c7aa0eb713cd7ade7",
      "tree": "fa96747fc8a5f0c7796fe62964a7eae9e121c812",
      "parents": [
        "77078276bfe695070441a1bbdc02949d31de8922"
      ],
      "author": {
        "name": "Goffredo Baroncelli",
        "email": "kreijack@inwind.it",
        "time": "Sat Feb 10 13:31:06 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 10 13:31:06 2024 +0100"
      },
      "message": "patch 9.1.0094: xxd: buffer-overflow when writing color output\n\nProblem:  xxd: buffer-overflow when writing color output\nSolution: properly account for the color escape sequences and\n          adjust LLEN macro\n          (Goffredo Baroncelli)\n\nxxd: crash with higer number of column\n\nxxd writes the data into a buffer before printing. Unfortunately\nthe buffer doesn\u0027t consider the space consumed by the escape\nsequences used to change the color of the character.\n\nBEFORE:\n$ xxd -Ralways -c 256 /etc/passwd\nSegmentation fault (core dumped)\n\nAFTER:\n$ ./xxd -Ralways -c 256 /etc/passwd\n00000000: 726f 6f74 3a78 3a30 3a30 3a72 6f6f 743a 2f72 [...]\n\nTo solve this issue I had to increase the size of the buffer\nconsidering for each byte of data 11 further characters for the\ncolor escape sequence.\n\ncloses: #14003\n\nSigned-off-by: Goffredo Baroncelli \u003ckreijack@libero.it\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "77078276bfe695070441a1bbdc02949d31de8922",
      "tree": "59b45fb75258d4b0c0ccd1fa659fbc6e4c0e7a09",
      "parents": [
        "c908371aec920b8174e40a1adb73a50e326a5668"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sat Feb 10 13:24:03 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 10 13:24:03 2024 +0100"
      },
      "message": "patch 9.1.0093: Still a qsort() comparison function that returns result of subtraction\n\nProblem:  Still a qsort() comparison function fuzzy_match_item_compare()\n          that returns result of subtraction (after 9.1.0089).\nSolution: Use an explicit comparison instead of subtraction.\n          (zeertzjq)\n\ncloses: #14004\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c908371aec920b8174e40a1adb73a50e326a5668",
      "tree": "bdc25d8154f626c049457682d755dd54047bdb00",
      "parents": [
        "627c950e5b30503a084bd0092f9cb2a5fe73fe87"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 10 13:17:16 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 10 13:17:16 2024 +0100"
      },
      "message": "patch 9.1.0092: Compiler warning for missing type in scroll_event()\n\nProblem:  Compiler warning for missing type in scroll_event()\n          (chdiza)\nSolution: Declare display_type explicitly as integer\n\nfixes: #14005\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "627c950e5b30503a084bd0092f9cb2a5fe73fe87",
      "tree": "41cdcd8d8790cf3192496528ce78d894701d6a42",
      "parents": [
        "45932c5c4a9ec01f7c2aa09b1574430853dafb4b"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 10 13:02:17 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 10 13:02:17 2024 +0100"
      },
      "message": "patch 9.1.0091: Syntax test fails when run with non C locale\n\nProblem:  Syntax test fails when run with non C locale\nSolution: Run syntax tests with C locale, clean up Xtestscript file,\n          strip environment variables from GetVimCommand()\n          (h-east)\n\ncloses: #14007\n\nCo-authored-by: h-east \u003ch.east.727@gmail.com\u003e\nSigned-off-by: h-east \u003ch.east.727@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "45932c5c4a9ec01f7c2aa09b1574430853dafb4b",
      "tree": "a3bae894143f4f3e82d2196de8ccf09df7a6e62e",
      "parents": [
        "415a5a951ba6a827ecafc2e13bf341ed4e124ad6"
      ],
      "author": {
        "name": "Maxim Kim",
        "email": "habamax@gmail.com",
        "time": "Fri Feb 09 23:11:54 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Feb 09 23:11:54 2024 +0100"
      },
      "message": "patch 9.1.0090: Assigning wrong colors when parsing terminal OSC response\n\nProblem:  Assigning wrong colors when parsing terminal OSC response\nSolution: Correctly assign Green and Blue from the terminal response\n          (Maxim Kim)\n\ncloses: #13981\n\nSigned-off-by: Maxim Kim \u003chabamax@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e06e43766500ecb4cd1031fa16cf9cbebdb222c1",
      "tree": "5594099ce9de3e526002cd8601f3e734475f11eb",
      "parents": [
        "c9e79e52845d51f48f5ea3753a62ab3fe0e40184"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Feb 09 19:39:14 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Feb 09 19:39:14 2024 +0100"
      },
      "message": "patch 9.1.0089: qsort() comparison functions should be transitive\n\nProblem:  qsort() comparison functions should be transitive\nSolution: Do not subtract values, but rather use explicit comparisons\n\nImprove qsort() comparison functions\n\nThere has been a recent report on qsort() causing out-of-bounds read \u0026\nwrite in glibc for non transitive comparison functions\nhttps://www.qualys.com/2024/01/30/qsort.txt\n\nEven so the bug is in glibc\u0027s implementation of the qsort() algorithm,\nit\u0027s bad style to just use substraction for the comparison functions,\nwhich may cause overflow issues and as hinted at in OpenBSD\u0027s manual\npage for qsort(): \"It is almost always an error to use subtraction to\ncompute the return value of the comparison function.\"\n\nSo check the qsort() comparison functions and change them to be safe.\n\ncloses: #13980\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c9e79e52845d51f48f5ea3753a62ab3fe0e40184",
      "tree": "35fe3e9e359b9ca62a31f6048d4e35b4a1e76858",
      "parents": [
        "2975a54f285e5b4bf026c1dc706b5d90777d64e7"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Feb 09 19:34:36 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Feb 09 19:34:36 2024 +0100"
      },
      "message": "patch 9.1.0088: TextChanged not triggered for :norm! commands\n\nProblem:  TextChanged not triggered for :norm! commands\n          (machakann, after v9.0.2031)\nSolution: Only reset curbuf-\u003eb_last_changedtick if TextChangedI\n          was triggered in insert mode (and not blocked)\n\nNote: for unknown reasons, the test fails on Windows (but seems to work\nfine when running interactively)\n\nfixes: #13967\ncloses: #13984\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "2975a54f285e5b4bf026c1dc706b5d90777d64e7",
      "tree": "1874df2e2991d1e6046e1a7b6eb704f89f5eb4f5",
      "parents": [
        "725c7c31a4c7603e688511d769b0addaab442d07"
      ],
      "author": {
        "name": "glepnir",
        "email": "glephunter@gmail.com",
        "time": "Fri Feb 09 19:30:26 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Feb 09 19:30:26 2024 +0100"
      },
      "message": "patch 9.1.0087: Restoring lastused_tabpage too early in do_arg_all()\n\nProblem:  Restore lastused_tabpage too early in do_arg_all() function it\n          will change later in the function.\nSolution: Restore lastused_tabpage a bit later, when being done with\n          tabpages (glepnir)\n\ncloses: #13992\n\nSigned-off-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "725c7c31a4c7603e688511d769b0addaab442d07",
      "tree": "58bbc6a8b90ea18586fc8946d87b9c4257e6ebef",
      "parents": [
        "c4d4a1e041f41b1fb0ccd686c8c488ef0768667e"
      ],
      "author": {
        "name": "lilydjwg",
        "email": "lilydjwg@gmail.com",
        "time": "Fri Feb 09 19:24:23 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Feb 09 19:24:23 2024 +0100"
      },
      "message": "patch 9.1.0086: Problem when scrolling using slow touchpads scroll event\n\nProblem:  Problem when scrolling using slow touchpads scroll event\nSolution: better ways to determine if a smooth scroll has ended (when\n          available) (lilydjwg)\n\nrelated: #13997\n\nSigned-off-by: lilydjwg \u003clilydjwg@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c4d4a1e041f41b1fb0ccd686c8c488ef0768667e",
      "tree": "2f6c7989b1a369503fd13a5450cfb1c385f85d46",
      "parents": [
        "bd2f45a6e530df91ad07d49967ff148eb8a1c1e1"
      ],
      "author": {
        "name": "lilydjwg",
        "email": "lilydjwg@gmail.com",
        "time": "Fri Feb 09 19:13:12 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Feb 09 19:13:12 2024 +0100"
      },
      "message": "patch 9.1.0085: X11 scroll size changes after accessing clipboard\n\nProblem:  X11 scroll size changes after accessing clipboard\n          (Ernie Rael)\nSolution: use GDK_SCROLL_MASK for X11 and GDK_SMOOTH_SCROLL_MASK for\n          Wayland (lilydjwg)\n\nbecause GDK_SCROLL_SMOOTH events don\u0027t work well for x11 (see comments).\n\nfixes #13994\ncloses: #13997\n\nSigned-off-by: lilydjwg \u003clilydjwg@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "df23d7f4bd7546f3152ea003856525591218565b",
      "tree": "ef204d9b58b04f012e4d4d7c6e804de657588fec",
      "parents": [
        "ae07ebc04b0726e12b1af39d52e01d86ae79ef0a"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Fri Feb 09 18:14:12 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Feb 09 18:14:12 2024 +0100"
      },
      "message": "patch 9.1.0084: Visual hl wrong when it ends before multibyte \u0027showbreak\u0027\n\nProblem:  Visual hl wrong when it ends before multibyte \u0027showbreak\u0027.\n          (lacygoil)\nSolution: Use vcol_sbr instead of adding n_extra.\n          (zeertzjq)\n\nfixes: #11272\ncloses: #13996\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ae07ebc04b0726e12b1af39d52e01d86ae79ef0a",
      "tree": "4496e0d5e633018ae1a8711d1c6c7cbfdd555035",
      "parents": [
        "7ce34c9a947b17a8b5e81e7c2335a63552182d10"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Thu Feb 08 11:37:40 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 08 11:37:40 2024 +0100"
      },
      "message": "patch 9.1.0083: Redrawing can be improved when deleting lines with \u0027number\u0027\n\nProblem:  Redrawing can be improved when inserting/deleting lines with \u0027number\u0027.\nSolution: Only redraw the number column of lines below changed lines.\n          Add a test as this wasn\u0027t previously tested.\n          (zeertzjq)\n\ncloses: #13985\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7ce34c9a947b17a8b5e81e7c2335a63552182d10",
      "tree": "5b1667c46abd1b0a603fb9d66ea4eefbcd56f856",
      "parents": [
        "b8170143c8f8a115b5be59a94d10f931d3cd567c"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Thu Feb 08 11:34:55 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 08 11:34:55 2024 +0100"
      },
      "message": "patch 9.1.0082: Redrawing can be improved when deleting lines with \u0027cursorline\u0027\n\nProblem:  Redrawing can be improved when deleting lines with \u0027cursorline\u0027.\nSolution: Use smarter invalidation and adjustment.  Remove unnecessary\n          UPD_VALID as it is already set at the top of the loop.  Make\n          the test for #4862 fail without the fix.\n          (zeertzjq)\n\ncloses: #13986\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "1efb1b08a142560af50f7e68c935f067944742a3",
      "tree": "0684ab134b1894202d1269fb4819b2d34c5a4d68",
      "parents": [
        "c9c2e2d2ff4429a6b5876ee919f15c1dc0018e86"
      ],
      "author": {
        "name": "lilydjwg",
        "email": "lilydjwg@gmail.com",
        "time": "Thu Feb 08 11:04:21 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 08 11:04:21 2024 +0100"
      },
      "message": "patch 9.1.0081: X11 mouse-scrolling stutters\n\nProblem:  X11 mouse-scrolling stutters\n          (Ron Aaron, after 9.1.0064)\nSolution: Handle GDK_SCROLL_SMOOTH fractional distance events\n          (lilydjwg)\n\nI don\u0027t know why, but with GDK_SMOOTH_SCROLL_MASK we get wheel events as\nGDK_SCROLL_SMOOTH. What\u0027s more, one wheel scroll is counted as 1.5\ndistance in Wayland but 1.0 in X11.\n\nI failed to find any docs on gtk.org about this.\n\nfixes: #13987\ncloses: #13991\n\nSigned-off-by: lilydjwg \u003clilydjwg@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "1af35631f85d2fcdc83c5d457af8273697f5146a",
      "tree": "10d2dc574d3ff18984f9d00c6fe339260a6d4fc6",
      "parents": [
        "ebfd856cfdf6ea0b16c8d115000961c998ce97da"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Feb 06 11:03:36 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 06 11:03:36 2024 +0100"
      },
      "message": "patch 9.1.0080: unexpected error for modifying final list using +\u003d\n\nProblem:  unexpected error for modifying final list using +\u003d operator\n          (Ernie Rael)\nSolution: Allow List value modification of a final variable using +\u003d\n          operator\n          (Yegappan Lakshmanan)\n\nfixes: #13745\nfixes: #13959\ncloses: #13962\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ebfd856cfdf6ea0b16c8d115000961c998ce97da",
      "tree": "c07e77f4b98e9bfd53d1e63ce21d912eba17e206",
      "parents": [
        "f7f33e3719c87279dfad109b874e2817007a1184"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Tue Feb 06 10:59:03 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 06 10:59:03 2024 +0100"
      },
      "message": "patch 9.1.0079: LineNrAbove/Below highlighting wrong on wrapped lines\n\nProblem:  LineNrAbove and LineNrBelow background wrong on wrapped lines.\nSolution: Update number column also for wrapped part of a line.\n          (zeertzjq)\n\ncloses: #13974\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "b1457d4cb9185b2b8d575b7736eff6d3a97d89eb",
      "tree": "81e4eb0664897260842b02d701dcad230427350d",
      "parents": [
        "7f630e6f358275d0bce9fea2665a2763edbf6a0e"
      ],
      "author": {
        "name": "lilydjwg",
        "email": "lilydjwg@gmail.com",
        "time": "Tue Feb 06 10:49:14 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 06 10:49:14 2024 +0100"
      },
      "message": "patch 9.1.0078: GTK3: using wrong style for pre-edit area\n\nProblem:  GTK3: using wrong style for pre-edit area\nSolution: remove the widget name, adjust css\n          (lilydjwg)\n\ncloses: #13972\n\nSigned-off-by: lilydjwg \u003clilydjwg@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "3f1b5312e0fa0089f255bf9c0c3b27590552119e",
      "tree": "0afd6d3931b392dea02d2229af6491b5215b2363",
      "parents": [
        "0f4054feb66ea55414f97add63b3070d7d7b5295"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Tue Feb 06 10:43:36 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 06 10:43:36 2024 +0100"
      },
      "message": "patch 9.1.0077: Unnecessary call to redraw_for_cursorline() in nv_mousescroll()\n\nProblem:  The call to redraw_for_cursorline() in nv_mousescroll() is\n          unnecessary because redraw_for_cursorline() only sets redraw\n          type to UPD_VALID, and all code paths in do_mousescroll()\n          already set redraw type to at least UPD_VALID.\nSolution: Remove call to redraw_for_cursorline() in nv_mousescroll().\n          (zeertzjq)\n\ncloses: #13979\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "de7f5bde6c598d4da4ce5b30328eb458962ba60a",
      "tree": "d1a481e7a05cd676adf1364c0cb530782554fdbe",
      "parents": [
        "7c5aeaffa2bec8f16f36bd33a749a6e965d8ab30"
      ],
      "author": {
        "name": "lopy",
        "email": "70210066+lopi-py@users.noreply.github.com",
        "time": "Sun Feb 04 10:27:33 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Feb 04 10:27:33 2024 +0100"
      },
      "message": "patch 9.1.0076: luau config file not detected\n\nProblem:  luau config file not detected\n          (lopy)\nSolution: Detect it as jsonc\n          (lopy)\n\nfixes: #13960\ncloses: #13970\n\nSigned-off-by: lopy \u003c70210066+lopi-py@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "cbb46b439888e10f87baaca504eafd191723c44b",
      "tree": "ff27837487090ca7e16db87742fffc6ee78972de",
      "parents": [
        "eac3fdcfa0b54281c37ffb66b4d4e8d1072cca1c"
      ],
      "author": {
        "name": "glepnir",
        "email": "glephunter@gmail.com",
        "time": "Sat Feb 03 18:11:13 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 03 18:11:13 2024 +0100"
      },
      "message": "patch 9.1.0075: insert completion not correct when adding new leader\n\nProblem:  insert completion not correct when adding new leader\nSolution: Reset compl_curr_match to compl_shown_match\n          (glepnir)\n\ncloses: #13957\n\nCo-authored-by: glepnir \u003cglephunter@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "eac3fdcfa0b54281c37ffb66b4d4e8d1072cca1c",
      "tree": "5cae81a11d47036ff5759494686d3aee646eb331",
      "parents": [
        "0c989e4a3ae50085aa8c6bed5d6701760191bc1d"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sat Feb 03 18:08:09 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 03 18:08:09 2024 +0100"
      },
      "message": "patch 9.1.0074: did_set_breakat() should be in optionstr.c\n\nProblem:  did_set_breakat() should be in optionstr.c as \u0027breakat\u0027 is a\n          string option.\nSolution: Move did_set_breakat() to optionstr.c.\n          (zeertzjq)\n\ncloses: #13958\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "0c989e4a3ae50085aa8c6bed5d6701760191bc1d",
      "tree": "cb7f1e541840db281e2b49fb93a9178cfbcf8c31",
      "parents": [
        "609370392a7b88dc2db38d01577509575216ff36"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sat Feb 03 18:04:05 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 03 18:05:38 2024 +0100"
      },
      "message": "patch 9.1.0073: Looping over modifier_keys_table unnecessarily\n\nProblem:  Looping over modifier_keys_table[] unnecessarily with only\n          MOD_MASK_ALT or MOD_MASK_CMD, as modifier_keys_table[] only\n          contains MOD_MASK_SHIFT and MOD_MASK_CTRL, and the loop won\u0027t\n          do anything.\nSolution: Remove MOD_MASK_ALT and MOD_MASK_CMD from the condition.\n          (zeertzjq)\n\ncloses: #13963\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "609370392a7b88dc2db38d01577509575216ff36",
      "tree": "09f3f29990d8391482b54d925acd8879b7a1d458",
      "parents": [
        "2d205d0a954a3ecdfbcd7bb44fa50557119d8a85"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Feb 03 17:41:54 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Feb 03 17:41:54 2024 +0100"
      },
      "message": "patch 9.1.0072: Not able to build without FEAT_DIFF\n\nProblem:  Not able to build without FEAT_DIFF\n          (John Marriott, after 9.1.0071)\nSolution: Adjust #ifdefs\n          (Yegappan Lakshmanan)\n\ncloses: #13964\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fa37835b8c0ed0f83952978fca4c332335ca7c46",
      "tree": "a10eb5ac624dfc8c160581fe4b033b1e5b0e27d6",
      "parents": [
        "1226b0584a07417882ea48763977f3ae24430e0e"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Feb 01 22:05:27 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 01 22:05:27 2024 +0100"
      },
      "message": "patch 9.1.0071: Need a diff() Vim script function\n\nProblem:  Need a diff() Vim script function\nSolution: Add the diff() Vim script function using the\n          xdiff internal diff library, add support for\n          \"unified\" and \"indices\" mode.\n          (Yegappan Lakshmanan)\n\nfixes: #4241\ncloses: #12321\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e93d5cadec6323d6be90f1ec29066441ffbc9477",
      "tree": "3a755b860efc98c2739e4abfd1489d4e9a64c500",
      "parents": [
        "fd472655a93fd539c731c8daf3adc4e65ddce341"
      ],
      "author": {
        "name": "rhysd",
        "email": "lin90162@yahoo.co.jp",
        "time": "Thu Feb 01 21:22:14 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 01 21:22:14 2024 +0100"
      },
      "message": "patch 9.1.0070: CI: testsuite not run on M1 Mac\n\nProblem:  CI: testsuite not run on M1 Mac\nSolution: Make it run on gh runners for M1, disable failing tests for\n          now, until we figure the problem with the failings tests out\n          (rhysd)\n\ncloses: #13943\n\nSigned-off-by: rhysd \u003clin90162@yahoo.co.jp\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fd472655a93fd539c731c8daf3adc4e65ddce341",
      "tree": "06a95bdbd2783bbebed377e60c2aff8930e16c4f",
      "parents": [
        "59bafc8171b08cf326ed40ccb4ee917f9643290e"
      ],
      "author": {
        "name": "Olaf Seibert",
        "email": "rhialto@falu.nl",
        "time": "Thu Feb 01 21:11:16 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 01 21:11:16 2024 +0100"
      },
      "message": "patch 9.1.0069: ScreenLines may not be correctly initialized, causing hang\n\nProblem:  ScreenLines may not be correctly initialized, causing hang\n          (Olaf Seibert, after 9.0.0220)\nSolution: always initialize ScreneLines when allocating a screen\n          (Olaf Seibert)\n\nScreenLines and related structures could be left uninitialized\ncausing a screen update to run into an infinite loop when using latin1\nencoding.\n\nPartly caused because by patch 9.0.0220, which makes mb_ptr2len return\nzero for NUL\n\nrelated: #12671\ncloses: #13946\n\nSigned-off-by: Olaf Seibert \u003crhialto@falu.nl\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "59bafc8171b08cf326ed40ccb4ee917f9643290e",
      "tree": "7215255d793d39e25b0a0a71ffcbd9fc8fcd89bd",
      "parents": [
        "e1cd1fda6990d612bd8f27d78f4f5d747c2dc537"
      ],
      "author": {
        "name": "Maxim Kim",
        "email": "habamax@gmail.com",
        "time": "Thu Feb 01 21:07:51 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Feb 01 21:07:51 2024 +0100"
      },
      "message": "patch 9.1.0068: Visual highlighting can still be improved\n\nProblem:  Visual highlighting can still be improved\nSolution: Update Visual highlighting for 8 color terminals,\n          use uniform grey highlighting for dark and light bg\n          (Maxim Kim)\n\nUpdate terminal Visual\n\n1. Use `ctermbg\u003dGrey ctermfg\u003dBlack` for both dark and light\n\nThis uniforms Visual highlighting between default dark and light colors\nAnd should work for vim usually detecting light background for terminals\nwith black/dark background colors.\n\nPreviously used `ctermfg\u003dWhite` leaks `cterm\u003dbold` if available colors\nare less than 16.\n\n2. Use `term\u003dreverse cterm\u003dreverse ctermbg\u003dNONE ctermfg\u003dNONE`\n   for terminals reporting less than 8 colors available\n\nIf the terminal has less than 8 colors, grey just doesn\u0027t work right\n\ncloses: #13940\n\nSigned-off-by: Maxim Kim \u003chabamax@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e1cd1fda6990d612bd8f27d78f4f5d747c2dc537",
      "tree": "118f2e53b500b0692b3c4e61b01d403a3b469918",
      "parents": [
        "83f627ff42a3da94db1299493b2cd1133c179850"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jan 31 22:10:50 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jan 31 22:12:57 2024 +0100"
      },
      "message": "patch 9.1.0067: gcc still complains about use of uninitialized var\n\nProblem:  gcc still complains about use of uninitialized var\n          ((Tony Mechelynck, after 9.1.0064/9.1.0066))\nSolution: This time init the correct variable\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f2fb7dd3d3bb94fc51347c25d2829bb0a80c8719",
      "tree": "600512579a9434b509681d69e0656b64cb67fa65",
      "parents": [
        "ece71456897cd3f38d6979c8a31401ce94c03d14"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jan 31 20:29:07 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jan 31 20:29:07 2024 +0100"
      },
      "message": "patch 9.1.0066: gcc complains about use of uninitialized var\n\nProblem:  gcc complains about use of uninitialized var\n          (Tony Mechelynck, after 9.1.0064)\nSolution: initialize button to silence gcc\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fef66301665027f1801a18d796f74584666f41ef",
      "tree": "5c60cc93730d095b5dd021fe4355a2a51a7b6b32",
      "parents": [
        "6e0a18f82bd04a45e9682523c42af9cbbc37684c"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Jan 29 21:46:58 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Jan 29 21:49:36 2024 +0100"
      },
      "message": "patch 9.1.0065: Segfault with CompleteChanged autocommand\n\nProblem:  Segfault with CompleteChanged autocommand\n          (markonm )\nSolution: Test match-\u003ecp_prev for being NULL before accessing it\n\ncloses: #13929\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "6e0a18f82bd04a45e9682523c42af9cbbc37684c",
      "tree": "d13ee399f7bbae3045ae5afc85be2308de28e3ee",
      "parents": [
        "94ff09a0935bc78fd81e9c79f099d42c94e3c218"
      ],
      "author": {
        "name": "lilydjwg",
        "email": "lilydjwg@gmail.com",
        "time": "Mon Jan 29 20:54:28 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Jan 29 20:54:28 2024 +0100"
      },
      "message": "patch 9.1.0064: No Wayland support\n\nProblem:  No Wayland support\nSolution: Add Wayland UI support\n          (lilydjwg)\n\ncloses: #9639\n\nSigned-off-by: lilydjwg \u003clilydjwg@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "94ff09a0935bc78fd81e9c79f099d42c94e3c218",
      "tree": "cc8063e1a81ade8eb1390142ce6babea6d9139b1",
      "parents": [
        "e99f0688785c3d56b1ee45a28fa6ce02b850a33b"
      ],
      "author": {
        "name": "lilydjwg",
        "email": "lilydjwg@gmail.com",
        "time": "Mon Jan 29 20:14:01 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Jan 29 20:18:22 2024 +0100"
      },
      "message": "patch 9.1.0063: GTK code can be improved\n\nProblem:  GTK code can be improved\nSolution: Improve GTK code for initial Wayland support\n          (lilydjwg)\n\nrelated: #9639\n\nSigned-off-by: lilydjwg \u003clilydjwg@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e99f0688785c3d56b1ee45a28fa6ce02b850a33b",
      "tree": "af86efdd7f5addf6e142e5f40712877429a60dff",
      "parents": [
        "e6d8b4662ddf9356da53f56e363b67b524fd8825"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Mon Jan 29 19:32:39 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Jan 29 19:32:39 2024 +0100"
      },
      "message": "patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines\n\nProblem:  Internal error when :luado/perldo/pydo etc delete lines\nSolution: Test that the line is still valid line number\n          (zeertzjq)\n\ncloses: #13931\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e6d8b4662ddf9356da53f56e363b67b524fd8825",
      "tree": "d93055a5466e8987dfbd7f9f5281740f5220702c",
      "parents": [
        "bdb9d9afba9769b1cb9c0b320086142d99034c9a"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jan 28 23:33:29 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jan 28 23:38:28 2024 +0100"
      },
      "message": "patch 9.1.0061: UX of visual highlighting can be improved\n\nProblem:  UX of visual highlighting can be improved\nSolution: Improve readibility of visual highlighting,\n          by setting better foreground and background\n          colors\n\nThe default visual highlighting currently is nice in that it overlays\nthe actual syntax highlighting by using a separate distinct background\ncolor.\n\nHowever, this can cause hard to read text, because the contrast\nbetween the actual syntax element and the background color is way too\nlow. That is an issue, that has been bothering colorschemes authors for\nquite some time so much, that they are defining the Visual highlighting\ngroup to use a separate foreground and background color, so that the\nsyntax highlighting vanishes, but the text remains readable (ref:\nvim/colorschemes#250)\n\nSo this is an attempt to perform the same fix for the default Visual\nhighlighting and just use a default foreground and background color\ninstead of using reverse.\n\nI also removed the hard-coded changes to the Visual highlighting in\ninit_highlight. It\u0027s not quite clear to me, why those were there and not\nadded directly to the highlighting_init_\u003cdark|light\u003e struct.\n\ncloses: #13663\nrelated: vim/colorschemes#250\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "bf321806bf44d59f108fd7e5a0eaead04682701d",
      "tree": "a85148304c17b07d8d4ca3d028cd844fdba31474",
      "parents": [
        "cf8695d48cdded63043430af5a84185e9614e84c"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sun Jan 28 19:03:00 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jan 28 19:03:00 2024 +0100"
      },
      "message": "patch 9.1.0060: Recorded register cannot be translated using keytrans()\n\nProblem:  Recorded register cannot be translated using keytrans() when\n          it involves character search (iddqd505)\nSolution: Record a K_IGNORE instead of a K_NOP (zeertzjq)\n\nrelated: #13916\ncloses: #13925\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "1f47db75fdc8c53c5c778b26ecfa0942ac801f22",
      "tree": "3e08bda69c9a77e744431b723f6e50fb74b06955",
      "parents": [
        "92e90a1e102825aa9149262cacfc991264db05df"
      ],
      "author": {
        "name": "Sergey Vlasov",
        "email": "sergey@vlasov.me",
        "time": "Thu Jan 25 23:07:00 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 23:07:00 2024 +0100"
      },
      "message": "patch 9.1.0059: No event triggered before creating a window\n\nProblem:  No event is triggered before creating a window.\n          (Sergey Vlasov)\nSolution: Add the WinNewPre event (Sergey Vlasov)\n\nfixes: #10635\ncloses: #12761\n\nSigned-off-by: Sergey Vlasov \u003csergey@vlasov.me\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "92e90a1e102825aa9149262cacfc991264db05df",
      "tree": "406635df57dadb49ccf2b5b607818b16fdeb51fe",
      "parents": [
        "6a02eb073e1c801a5a92837d4b2d44b6a80afddd"
      ],
      "author": {
        "name": "Casey Tucker",
        "email": "dctucker@hotmail.com",
        "time": "Thu Jan 25 22:44:00 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 22:44:00 2024 +0100"
      },
      "message": "patch 9.1.0058: Cannot map Super Keys in GTK UI\n\nProblem:  Cannot map Super Keys in GTK UI\n          (Casey Tucker)\nSolution: Enable Super Key mappings in GTK using \u003cD-Key\u003e\n          (Casey Tucker)\n\nAs a developer who works in both Mac and Linux using the same keyboard,\nit can be frustrating having to remember different key combinations or\nhaving to rely on system utilities to remap keys.\n\nThis change allows `\u003cD-z\u003e` `\u003cD-x\u003e` `\u003cD-c\u003e` `\u003cD-v\u003e` etc. to be recognized\nby the `map` commands, along with the `\u003cD-S-...\u003e` shifted variants.\n\n```vimrc\nif has(\u0027gui_gtk\u0027)\n\tnnoremap  \u003cD-z\u003e    u\n\tnnoremap  \u003cD-S-Z\u003e  \u003cC-r\u003e\n\tvnoremap  \u003cD-x\u003e    \"+d\n\tvnoremap  \u003cD-c\u003e    \"+y\n\tcnoremap  \u003cD-v\u003e    \u003cC-R\u003e+\n\tinoremap  \u003cD-v\u003e    \u003cC-o\u003e\"+gP\n\tnnoremap  \u003cD-v\u003e    \"+P\n\tvnoremap  \u003cD-v\u003e    \"-d\"+P\n\tnnoremap  \u003cD-s\u003e    :w\u003cCR\u003e\n\tinoremap  \u003cD-s\u003e    \u003cC-o\u003e:w\u003cCR\u003e\n\tnnoremap  \u003cD-w\u003e    :q\u003cCR\u003e\n\tnnoremap  \u003cD-q\u003e    :qa\u003cCR\u003e\n\tnnoremap  \u003cD-t\u003e    :tabe\u003cCR\u003e\n\tnnoremap  \u003cD-S-T\u003e  :vs#\u003cCR\u003e\u003cC-w\u003eT\n\tnnoremap  \u003cD-a\u003e    ggVG\n\tvnoremap  \u003cD-a\u003e    \u003cESC\u003eggVG\n\tinoremap  \u003cD-a\u003e    \u003cESC\u003eggVG\n\tnnoremap  \u003cD-f\u003e    /\n\tnnoremap  \u003cD-g\u003e    n\n\tnnoremap  \u003cD-S-G\u003e  N\n\tvnoremap  \u003cD-x\u003e    \"+x\nendif\n```\n\ncloses: #12698\n\nSigned-off-by: Casey Tucker \u003cdctucker@hotmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "6a02eb073e1c801a5a92837d4b2d44b6a80afddd",
      "tree": "05d0ec0422281c4f63013affe40379d78ef061a3",
      "parents": [
        "6638ec8afa9875ff565020536954c424d5f6f27d"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 22:28:37 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 22:28:37 2024 +0100"
      },
      "message": "patch 9.1.0057: MS-Windows: Key event test still fails\n\nProblem:  MS-Windows: Key event test still fails\nSolution: Skip testing CTRL-C, since it causes an Interrupt\n          which causes a test failure (after 9.1.0053)\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "6638ec8afa9875ff565020536954c424d5f6f27d",
      "tree": "6b53f96435d5f448acc9c0679112d8a6b6b8fc10",
      "parents": [
        "78019df645400796831670ec166e7e3b55ae8310"
      ],
      "author": {
        "name": "VanaIgr",
        "email": "vanaigranov@gmail.com",
        "time": "Thu Jan 25 21:50:41 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 21:58:33 2024 +0100"
      },
      "message": "patch 9.1.0056: wrong number of trailing spaces inserted after blockwise put\n\nProblem:  Incorrect number of trailing spaces inserted for multibyte\n\t  characters when pasting a blockwise register in blockwise visual\n          mode (VanaIgr)\nSolution: Skip over trailing UTF-8 bytes when computing the number of trailing\n          spaces (VanaIgr)\n\nWhen pasting in blockwise visual mode, and the register type is \u003cCTRL-V\u003e, Vim\naligns the text after the replaced area by inserting spaces after pasted\nlines that are shorter than the longest line. When a shorter line contains\nmultibyte characters, each trailing UTF-8 byte\u0027s width is counted in addition\nto the width of the character itself. Each trailing byte counts as being 4\ncells wide (since it would be displayed as \u003cxx\u003e).\n\ncloses: #13909\n\nSigned-off-by: VanaIgr \u003cvanaigranov@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "78019df645400796831670ec166e7e3b55ae8310",
      "tree": "c0dac27c30055e2f84b5d56f2b81832f2d1de92f",
      "parents": [
        "703f9bc943a29d947869b5cb0370be2ac42d5ac9"
      ],
      "author": {
        "name": "kawaii-Code",
        "email": "nia.personal.0@gmail.com",
        "time": "Thu Jan 25 21:40:05 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 21:40:05 2024 +0100"
      },
      "message": "patch 9.1.0055: formatting long lines is slow\n\nProblem:  formatting long lines is slow\n          (kawaii-Code)\nSolution: optimize gq (internal_format) for long\n          lines (kawaii-Code)\n\nImplemented two workarounds that significantly reduce\nthe amount of pointless calls. Ideally the algorithm\nwould be rewritten not to be n^2, but it\u0027s too complicated\nwith too many corner cases.\n\ncloses: #13914\n\nSigned-off-by: kawaii-Code \u003cnia.personal.0@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "703f9bc943a29d947869b5cb0370be2ac42d5ac9",
      "tree": "4821305ec53b33271ab0cdc10cdcf79501bb95cb",
      "parents": [
        "12b927767213502469284bc133f69b4d0da776cb"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Thu Jan 25 21:27:13 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 21:28:56 2024 +0100"
      },
      "message": "patch 9.1.0054: \u0027linebreak\u0027 may still apply to leading whitespace\n\nProblem:  \u0027linebreak\u0027 may still apply to leading whitespace\n          (VanaIgr)\nSolution: Compare pointers instead of virtual columns.\n          (zeertzjq)\n\nrelated: neovim/neovim#27180\ncloses: #13915\n\nCo-authored-by: VanaIgr \u003cvanaigranov@gmail.com\u003e\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "12b927767213502469284bc133f69b4d0da776cb",
      "tree": "2fbae59b70526056951eefe2edb09cce0c38b2fd",
      "parents": [
        "fa8c9715587a24562dd755c44dc13aef43d7d875"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 21:23:22 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 21:23:22 2024 +0100"
      },
      "message": "patch 9.1.0053: MS-Windows: Key event test still fails\n\nProblem:  MS-Windows: Key event test still fails\nSolution: Catch more interrupts\n          (after 9.1.0051)\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fa8c9715587a24562dd755c44dc13aef43d7d875",
      "tree": "99024c6ab86274c7daaf02b2c7bd9ad513e25006",
      "parents": [
        "f6ebaa7ae64edbe2e56d65c2a3f2494301d11acb"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 20:50:49 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 20:50:49 2024 +0100"
      },
      "message": "patch 9.1.0052: Patch 9.1.0041 causes regressions for users\n\nProblem:  Patch 9.1.0041 causes regressions for users\n          (Gleb Fotengauer-Malinovskiy)\nSolution: Revert 9.1.0041 and restore old behaviour\n\nRevert \"patch 9.1.0041: xxd -i may generate incorrect C statements\"\n\nThis reverts commit 7062be13129985fe297b9a8e59c57b8f0db61b8f.\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f6ebaa7ae64edbe2e56d65c2a3f2494301d11acb",
      "tree": "07b247816e53867e7ecca741884d6670ae4de7ad",
      "parents": [
        "046a0f75d025783a141b85b9e85a34559fd8cf63"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 20:44:49 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jan 25 20:44:49 2024 +0100"
      },
      "message": "patch 9.1.0051: MS-Windows: Key event test fail\n\nProblem:  MS-Windows: Key event test fail\n          (after 9.1.0050)\nSolution: Catch Interrupt and return Ctrl-C\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "68d9472c65ec75725a0b431048bebe036921331c",
      "tree": "3fccc1018b80c681e556138b81d4c7fe4a4362e7",
      "parents": [
        "1fb41032060df09ca2640dc49541f11062f6dfaa"
      ],
      "author": {
        "name": "Anton Sharonov",
        "email": "anton.sharonov@gmail.com",
        "time": "Tue Jan 23 23:19:02 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Jan 23 23:19:02 2024 +0100"
      },
      "message": "patch 9.1.0050: Win32 Keyboard handling is sub-optimal\n\nProblem:  Win32 Keyboard handling is sub-optimal and has\n          many issues with international keyboards\n          (risa2000) (after v8.2.4807)\nSolution: soft-rollback the change, allow the user to select\n          a suitable key-translation strategy\n          (Anton Sharonov)\n\nRead about the details in the help:\n    :h w32-experimental-keycode-trans-strategy\n\nfixes: #10615\nfixes: #12595\ncloses: #12752\n\nSigned-off-by: Anton Sharonov \u003canton.sharonov@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "1fb41032060df09ca2640dc49541f11062f6dfaa",
      "tree": "47869301c90c7b3e0bf016b4c29d4b857ac0e74f",
      "parents": [
        "43b395ec2e7d24a067d7cb00109818b64da144a5"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "seandewar@users.noreply.github.com",
        "time": "Wed Aug 16 17:15:05 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Jan 23 22:37:39 2024 +0100"
      },
      "message": "patch 9.1.0049: Make \"[Command Line]\" a special buffer name\n\nProblem:  E95 is possible if a buffer called \"[Command Line]\" already\n          exists when opening the cmdwin. This can also happen if the\n          cmdwin\u0027s buffer could not be deleted when closing.\n\nSolution: Un-name the cmdwin buffer, and give it a special name instead,\n          similar to what\u0027s done for quickfix buffers and for unnamed\n          prompt and scratch buffers. As a result, BufFilePre/Post are\n          no longer fired when opening the cmdwin. Add a \"command\" key\n          to the dictionary returned by getbufinfo() to differentiate\n          the cmdwin buffer instead. (Sean Dewar)\n\nNOTE: This is technically a breaking change... maybe this needs a different\nsolution? (Or maybe this issue can be ignored...)\n\nA GitHub search reveals some plugins expect the old behaviour. However, many of\nthose plugins also do not seem to account for the string being translated, so\nthey are subtly broken anyway (not withstanding the fact that you can call any\nold buffer \"[Command Line]\" too...)\n\ncloses: #12819\n\nSigned-off-by: Sean Dewar \u003cseandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "43b395ec2e7d24a067d7cb00109818b64da144a5",
      "tree": "fd8dfe4d22990fb00eab5d341ff2eaf1987b4c76",
      "parents": [
        "988f74311c26ea9917e84fbae608de226dba7e5f"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "seandewar@users.noreply.github.com",
        "time": "Wed Aug 16 16:17:31 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Jan 23 22:35:05 2024 +0100"
      },
      "message": "patch 9.1.0048: Abort opening cmdwin if autocmds screw things up\n\nProblem:  Autocmds triggered from opening the cmdwin (in win_split and\n          do_ecmd) can cause issues such as E199, as the current checks\n          are insufficient.\n\nSolution: Commands executed from the cmdwin apply to the old curwin/buf,\n          so they should be kept in a \"suspended\" state; abort if\n          they\u0027ve changed. Also abort if cmdwin/buf was tampered with,\n          and check that curwin is correct. Try to clean up the cmdwin\n          buffer (only if hidden and non-current to simplify things; the\n          same approach is used when closing cmdwin normally), and add a\n          beep. (Sean Dewar)\n\nIt\u0027d be nice to also check that curwin was *really* created by win_split, as\nautocommands can change curwin before it returns (so it can\u0027t be assumed to be\nthat of the split); for now, this means that the cmdwin may not be the botwin in\nthat case, which is probably OK.\n\ncloses: #12819\n\nSigned-off-by: Sean Dewar \u003cseandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "988f74311c26ea9917e84fbae608de226dba7e5f",
      "tree": "95c475b5966ba8fac1f241e604d437bfed19c693",
      "parents": [
        "4927110a434e75f8f22188a95b366cfd1fa17e07"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "seandewar@users.noreply.github.com",
        "time": "Wed Aug 16 14:17:36 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Jan 23 22:31:55 2024 +0100"
      },
      "message": "patch 9.1.0047: issues with temp curwin/buf while cmdwin is open\n\nProblem:  Things that temporarily change/restore curwin/buf (e.g:\n          win_execute, some autocmds) may break assumptions that\n          curwin/buf is the cmdwin when \"cmdwin_type !\u003d 0\", causing\n          issues.\n\nSolution: Expose the cmdwin\u0027s real win/buf and check that instead. Also\n          try to ensure these variables are NULL if \"cmdwin_type \u003d\u003d 0\",\n          allowing them to be used directly in most cases without\n          checking cmdwin_type. (Sean Dewar)\n\nAlternatively, we could ban win_execute in the cmdwin and audit all places that\ntemporarily change/restore curwin/buf, but I didn\u0027t notice any problems arising\nfrom allowing this (standard cmdwin restrictions still apply, so things that may\nactually break the cmdwin are still forbidden).\n\ncloses: #12819\n\nSigned-off-by: Sean Dewar \u003cseandewar@users.noreply.github.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f96dc8d07f752ddd96d1447d85278a85255a1462",
      "tree": "9dd0edf8a9aebad7ccfe16a4c205b68fa4f6200a",
      "parents": [
        "cc979b49dcb2392a2c6767d3a7e05a6e07ed7201"
      ],
      "author": {
        "name": "Rocco Mao",
        "email": "dapeng.mao@qq.com",
        "time": "Tue Jan 23 21:27:19 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Jan 23 21:27:19 2024 +0100"
      },
      "message": "patch 9.1.0046: :drop does not re-use empty buffer\n\nProblem:  :drop does not re-use empty buffer\n          (Rocco Mao)\nSolution: Make :drop re-use an empty buffer\n          (Rocco Mao)\n\nfixes: #13851\ncloses: #13881\n\nSigned-off-by: Rocco Mao \u003cdapeng.mao@qq.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "cc979b49dcb2392a2c6767d3a7e05a6e07ed7201",
      "tree": "aa6ec70f6f2b1292aeed45e62474ac3d2e7b6b6f",
      "parents": [
        "e13b665a6e2a32910ff5c3fec330bef4a10f8f23"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Jan 23 21:13:58 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Jan 23 21:16:54 2024 +0100"
      },
      "message": "patch 9.1.0045: --remote-* does not ignore `wilidignore`\n\nProblem:  --remote-silent applies the wildignore option\n          to each argument, which may result in \"E479: No match\"\n          (hebaronson)\nSolution: temporarily reset \u0027wildignore\u0027 setting when building\n          the :drop command\n\ncloses: #13835\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "76ba724e1d56b00e72834a9203855f0656dcbb58",
      "tree": "07ae99ab11d5d51e31379833dbe41eb534cca795",
      "parents": [
        "91155eb31fbb344b8407664cd8d25d907eda6969"
      ],
      "author": {
        "name": "RestorerZ",
        "email": "restorer@mail2k.ru",
        "time": "Mon Jan 22 20:28:12 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Jan 22 20:38:38 2024 +0100"
      },
      "message": "patch 9.1.0044: po Makefiles can be improved\n\nProblem:  po Makefiles can be improved\nSolution: Improve the style of the Makefiles, update\n          Makefile variables, update documentation\n          (RestorerZ)\n\ncloses: #13858\ncloses: #13857\n\nSigned-off-by: RestorerZ \u003crestorer@mail2k.ru\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7c71db3a58f658b4329b82ab603efa928d17bdbc",
      "tree": "b78ab8ca9bc57c2c4ee758efc2d8e029bf736c18",
      "parents": [
        "3b2c27415d7d6e97be9580b66528e8c19d19aade"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Jan 22 20:12:34 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Jan 22 20:12:34 2024 +0100"
      },
      "message": "patch 9.1.0043: ml_get: invalid lnum when :s replaces visual selection\n\nProblem:  ml_get: invalid lnum when :s replaces visual selection\n          (@ropery)\nSolution: substitute may decrement the number of lines in a buffer,\n          so validate, that the bottom lines of the visual selection\n          stays within the max buffer line\n\nfixes: #13890\ncloses: #13892\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c1884c94c5d7246e53a83b03a35a66ce81b49f83",
      "tree": "335855227b881091b0fb3de2532c26f3c635486d",
      "parents": [
        "d08e437802ba86d49b9d07518c751bb4483e91e4"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jan 21 09:40:22 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jan 21 09:40:22 2024 +0100"
      },
      "message": "patch 9.1.0042: Missing test for Chuck Filetype\n\nProblem:  Missing test for Chuck filetype\n          after commit 27a4632af6753\n          (Christian Clason)\nSolution: Add a filetype test\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7062be13129985fe297b9a8e59c57b8f0db61b8f",
      "tree": "a4f821166233308a2f218936ccda0f2d203621c8",
      "parents": [
        "f942db25571e64d413048fcfd9719fdf63a516c6"
      ],
      "author": {
        "name": "Kuratius",
        "email": "Kuratius@gmx.net",
        "time": "Wed Jan 17 18:37:32 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jan 17 22:34:51 2024 +0100"
      },
      "message": "patch 9.1.0041: xxd -i may generate incorrect C statements\n\nProblem:  xxd -i may generate incorrect C statements\n          (Kuratius)\nSolution: xxd: Make size type returned by -i option compatible\n          with C standard by using type size_t instead of\n          unsigned int (Kuratius)\n\nAlso change affected tests to now correctly expect size_t\u0027s\n\nfixes: #13876\ncloses: #13880\n\nSigned-off-by: Kuratius \u003cKuratius@gmx.net\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f267847017976ab85117bdf75b45e769836f8d69",
      "tree": "d57462af4d3a29cb32ebd31e714a7a6de56c40eb",
      "parents": [
        "6a8d2e1634f8f0d7463a2786dbcbe0f38dd287a7"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Jan 17 21:22:59 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jan 17 21:22:59 2024 +0100"
      },
      "message": "patch 9.1.0040: issue with prompt buffer and hidden buffer\n\nProblem:  Modifying a hidden buffer still interferes with prompt buffer\n          mode changes.\nSolution: Save and restore b_prompt_insert.\n          (zeertzjq)\n\ncloses: #13875\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nModifying hidden buffer still interferes with prompt buffer mode changes\n"
    },
    {
      "commit": "6a8d2e1634f8f0d7463a2786dbcbe0f38dd287a7",
      "tree": "47681288dc7fd7efe9b1ade01e157f10d48e0d6f",
      "parents": [
        "4ea37f88e8345ca830271636a2e197a1a46114d2"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Jan 17 20:54:49 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jan 17 21:07:08 2024 +0100"
      },
      "message": "patch 9.1.0039: too vague errors for \u0027listchars\u0027/\u0027fillchars\u0027\n\nProblem:  too vague errors for \u0027listchars\u0027/\u0027fillchars\u0027\nSolution: Include the field name in error message.\n          (zeertzjq)\n\nrelated: neovim/neovim#27050\ncloses: #13877\n\nCo-authored-by: Cole Frankenhoff \u003ccole.nhf@gmail.com\u003e\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "4ea37f88e8345ca830271636a2e197a1a46114d2",
      "tree": "36d1f16e8ec41f03766fbff8028fd4625fd5cb9a",
      "parents": [
        "5b0722b86445158f0b502ffc48a5847b0d0187bd"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Jan 17 20:52:13 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jan 17 20:52:13 2024 +0100"
      },
      "message": "patch 9.1.0038: Unnecessary loop in getvcol()\n\nProblem:  Unnecessary loop in getvcol().\nSolution: Compare next char position with pos-\u003ecol directly.\n          (zeertzjq)\n\nThe loop below already handles end of line before checking for posptr,\nand the next char is after pos-\u003ecol whether pos-\u003ecol is at the start or\nin the middle of the char in question, so neither the NUL check nor the\nmb_head_off() are needed when comparing the position of the next char\nwith pos-\u003ecol directly.\n\ncloses: #13878\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "5b0722b86445158f0b502ffc48a5847b0d0187bd",
      "tree": "4c931dbca5c39310a7fb31e1cb241f96e4a77065",
      "parents": [
        "73e16c740676e11176685ba5490eff202dc8d938"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Wed Jan 17 20:42:53 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jan 17 20:42:53 2024 +0100"
      },
      "message": "patch 9.1.0037: Calling get_breakindent_win() repeatedly when computing virtcol\n\nProblem:  Calling get_breakindent_win() repeatedly when computing\n          virtual column, and get_breakindent_win() does a STRCMP() on\n          the whole line since patch 9.0.0016.\nSolution: Cache the result, since the line doesn\u0027t change.\n          (zeertzjq)\n\ncloses: #13879\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "73e16c740676e11176685ba5490eff202dc8d938",
      "tree": "f2741eb02b91ea04763ac76f31a1e72145b2af78",
      "parents": [
        "211211052d0426394cbd5f42f3f3f78a64822e2a"
      ],
      "author": {
        "name": "John Marriott",
        "email": "basilisk@internode.on.net",
        "time": "Wed Jan 17 20:16:05 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Jan 17 20:19:10 2024 +0100"
      },
      "message": "patch 9.1.0036: MS-Windows: Warning about unused variable\n\nProblem:  MS-Windows: Warning about unused variable\n          (after 9.1.0030, John Marriott)\nSolution: Adjust #ifdef and test for HAVE_TGETENT\n          (John Marriott)\n\nSigned-off-by: John Marriott \u003cbasilisk@internode.on.net\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7d711fe2092d0438d2df5054df735ec34926e2bc",
      "tree": "401aecf9711ac2303fa55d3eeffeb64e680a7628",
      "parents": [
        "ac4cffc6d9d307778d8a2945adab70244470bbb8"
      ],
      "author": {
        "name": "altermo",
        "email": "",
        "time": "Tue Jan 16 17:25:17 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Jan 16 17:25:17 2024 +0100"
      },
      "message": "patch 9.1.0035: i_CTRL-] triggers InsertCharPre\n\nProblem:  i_CTRL-] triggers InsertCharPre\nSolution: Return if CTRL-] is received. InsertCharPre\n          is supposed to be only used for chars to be inserted\n          but i_CTRL-] triggers expansion and is not inserted\n          into the buffer (altermo)\n\ncloses: #13853\ncloses: #13864\n\nSigned-off-by: altermo\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    }
  ],
  "next": "ac4cffc6d9d307778d8a2945adab70244470bbb8"
}
