)]}'
{
  "commit": "0240c8f11b06a33a043bacbe2b9e723ae6ad573c",
  "tree": "e49c7e36b94e02187f30bf53047ac9f867ecee73",
  "parents": [
    "fdb01f0ce44653180af9d3d4f264c0ddb2d1261d"
  ],
  "author": {
    "name": "Tom Tromey",
    "email": "tom@tromey.com",
    "time": "Sat Feb 22 11:48:26 2020 -0700"
  },
  "committer": {
    "name": "Tom Tromey",
    "email": "tom@tromey.com",
    "time": "Sat Feb 22 11:48:38 2020 -0700"
  },
  "message": "Change how TUI windows are instantiated\n\nThis adds a new global that maps from window names to window\nconstructor functions, and then changes tui_get_window_by_name and\nvalidate_window_name to use it.  This is another step toward\nuser-defined window types.\n\ngdb/ChangeLog\n2020-02-22  Tom Tromey  \u003ctom@tromey.com\u003e\n\n\t* tui/tui-layout.c (make_standard_window, get_locator_window): New\n\tfunctions.\n\t(known_window_types): New global.\n\t(tui_get_window_by_name): Reimplement.\n\t(initialize_known_windows): New function.\n\t(validate_window_name): Rewrite.\n\t(_initialize_tui_layout): Call initialize_known_windows.\n\nChange-Id: I9037aac550299b9d945899220a30c2d3af9dd0de\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dc54fc40e63a571f158fff30a8a7a238e7c30059",
      "old_mode": 33188,
      "old_path": "gdb/ChangeLog",
      "new_id": "fe8692782632378b33c2b670d314b2e5441ce440",
      "new_mode": 33188,
      "new_path": "gdb/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "c27a8d086e28618de99c968b5926a5e3c8f8fc5c",
      "old_mode": 33188,
      "old_path": "gdb/tui/tui-layout.c",
      "new_id": "748a10672956d6284bf218447f8329bcb8ca5e7d",
      "new_mode": 33188,
      "new_path": "gdb/tui/tui-layout.c"
    }
  ]
}
