)]}'
{
  "commit": "70ef91c5aa0626f2aa1ab117b8bd5da4bc6a115f",
  "tree": "1b96d06b2b2f8dabc5e2929f49d43bc47920a167",
  "parents": [
    "7355e1a74d1ee30b0babb8835e10027eb04ef832"
  ],
  "author": {
    "name": "Tom Tromey",
    "email": "tromey@adacore.com",
    "time": "Wed Jun 14 06:54:13 2023 -0600"
  },
  "committer": {
    "name": "Tom Tromey",
    "email": "tromey@adacore.com",
    "time": "Mon Jul 10 13:17:30 2023 -0600"
  },
  "message": "Add new interface to frame filter iteration\n\nThis patch adds a new function, frame_iterator, that wraps the\nexisting code to find and execute the frame filters.  However, unlike\nexecute_frame_filters, it will always return an iterator -- whereas\nexecute_frame_filters will return None if no frame filters apply.\n\nNothing uses this new function yet, but it will used by a subsequent\nDAP patch.\n\n\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4b2141ed722e1ec7d2be92fddecacdb30845b631",
      "old_mode": 33188,
      "old_path": "gdb/python/lib/gdb/frames.py",
      "new_id": "cff3ba07704448e308f5796425dc41db1c4e6a14",
      "new_mode": 33188,
      "new_path": "gdb/python/lib/gdb/frames.py"
    }
  ]
}
