)]}'
{
  "commit": "7b18593a9ef94694e2a16ac25133aa8c19dc6a87",
  "tree": "39ea1de8d6a15125c6def31548cbbff359fd6b3a",
  "parents": [
    "b054ff604253af016657d5c93e2f69dab14cc53a"
  ],
  "author": {
    "name": "Tom Tromey",
    "email": "tom@tromey.com",
    "time": "Fri Jun 13 12:54:16 2025 -0600"
  },
  "committer": {
    "name": "Tom Tromey",
    "email": "tom@tromey.com",
    "time": "Tue Jul 01 15:59:41 2025 -0600"
  },
  "message": "Fix handling of terminal escape sequences in TUI\n\nA user noticed that if the remote sends terminal escape sequences from\nthe \"monitor\" command, then these will not be correctly displayed when\nin TUI mode.\n\nI tracked this down to remote.c emitting one character at a time --\nsomething the TUI output functions did not handle correctly.\n\nI decided in the end to fix in this in the ui-file layer, because the\nsame bug seems to affect logging and, as is evidenced by the test case\nin this patch, Python output in TUI mode.\n\nThe idea is simple: buffer escape sequences until they are either\ncomplete or cannot possibly be recognized by gdb.\n\nRegression tested on x86-64 Fedora 40.\n\nBug: https://sourceware.org/bugzilla/show_bug.cgi?id\u003d14126\nApproved-By: Andrew Burgess \u003caburgess@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "db78ebe352f014027213be9da6010e29fe6e2916",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.tui/esc-match.exp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "78160020145d6dba67bd2cc8ab4424176965a938",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.tui/esc-match.py"
    },
    {
      "type": "modify",
      "old_id": "39aee9f32e215ea77e1198a93d4e22e5e61362dd",
      "old_mode": 33188,
      "old_path": "gdb/tui/tui-file.c",
      "new_id": "df6f503e2835b80d2935fb5348f6f178802f8e50",
      "new_mode": 33188,
      "new_path": "gdb/tui/tui-file.c"
    },
    {
      "type": "modify",
      "old_id": "dbd6fa91da518e9bdae55d60f19f0e28ed0fd235",
      "old_mode": 33188,
      "old_path": "gdb/tui/tui-file.h",
      "new_id": "b6dc0587f336de95e4d0b44e90a31aa75c47d57f",
      "new_mode": 33188,
      "new_path": "gdb/tui/tui-file.h"
    },
    {
      "type": "modify",
      "old_id": "f86b6b171f24048320b06c97dc65708057b941f6",
      "old_mode": 33188,
      "old_path": "gdb/ui-file.c",
      "new_id": "2e5c06fb43b12a93e06dfa772e1320f8fb8afefe",
      "new_mode": 33188,
      "new_path": "gdb/ui-file.c"
    },
    {
      "type": "modify",
      "old_id": "3919e528da91247b192defac6f0e53c533fc5aa7",
      "old_mode": 33188,
      "old_path": "gdb/ui-file.h",
      "new_id": "1219bde0a75809ad2ff727f7df8924510041e223",
      "new_mode": 33188,
      "new_path": "gdb/ui-file.h"
    },
    {
      "type": "modify",
      "old_id": "b8d73abdc8730c2858bf5e982847541cd2d282d0",
      "old_mode": 33188,
      "old_path": "gdb/ui-style.c",
      "new_id": "c8f2e11759a89a01ba0dbc3d687f580412107aea",
      "new_mode": 33188,
      "new_path": "gdb/ui-style.c"
    },
    {
      "type": "modify",
      "old_id": "77a175d73eda58f79c6ee961d807a95d753ea76e",
      "old_mode": 33188,
      "old_path": "gdb/ui-style.h",
      "new_id": "f61152f75171c308fcd152b4a5370fb2f95485e8",
      "new_mode": 33188,
      "new_path": "gdb/ui-style.h"
    },
    {
      "type": "modify",
      "old_id": "3114a4b87da16c038a8d9eebe5a0b3dd71bb06f3",
      "old_mode": 33188,
      "old_path": "gdb/utils.c",
      "new_id": "10d3d51e481b789a4f060c6071139d4c01c976bd",
      "new_mode": 33188,
      "new_path": "gdb/utils.c"
    }
  ]
}
