)]}'
{
  "commit": "d2d62da62ec9c5486b19d8ffc7b4ef4070e8df7a",
  "tree": "2186c1226037e7937600edd7c01b19c5592ea50d",
  "parents": [
    "cf141dd8ccd36efe833aae3ccdb060b517cc1112"
  ],
  "author": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Tue Mar 14 11:22:35 2023 +0000"
  },
  "committer": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Thu Apr 06 14:57:32 2023 +0100"
  },
  "message": "gdb/python: have UnwindInfo.add_saved_register accept named args\n\nUpdate gdb.UnwindInfo.add_saved_register to accept named keyword\narguments.\n\nAs part of this update we now use gdb_PyArg_ParseTupleAndKeywords\ninstead of PyArg_UnpackTuple to parse the function arguments.\n\nBy switching to gdb_PyArg_ParseTupleAndKeywords, we can now use \u0027O!\u0027\nas the argument format for the function\u0027s value argument.  This means\nthat we can check the argument type (is gdb.Value) as part of the\nargument processing rather than manually performing the check later in\nthe function.  One result of this is that we now get a better error\nmessage (at least, I think so).  Previously we would get something\nlike:\n\n  ValueError: Bad register value\n\nNow we get:\n\n  TypeError: argument 2 must be gdb.Value, not XXXX\n\nIt\u0027s unfortunate that the exception type changed, but I think the new\nexception type actually makes more sense.\n\nMy preference for argument names is to use full words where that\u0027s not\ntoo excessive.  As such, I\u0027ve updated the name of the argument from\n\u0027reg\u0027 to \u0027register\u0027 in the documentation, which is the argument name\nI\u0027ve made GDB look for here.\n\nFor existing unwinder code that doesn\u0027t throw any exceptions nothing\nshould change with this commit.  It is possible that a user has some\ncode that throws and catches the ValueError, and this code will break\nafter this commit, but I think this is going to be sufficiently rare\nthat we can take the risk here.\n\nReviewed-By: Eli Zaretskii \u003celiz@gnu.org\u003e\nReviewed-By: Tom Tromey \u003ctom@tromey.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c74d586ef39c95f095f45c82c2e613f697e99162",
      "old_mode": 33188,
      "old_path": "gdb/doc/python.texi",
      "new_id": "a4fd0095c43dd6b39b959fa933ac799e0ddd4a89",
      "new_mode": 33188,
      "new_path": "gdb/doc/python.texi"
    },
    {
      "type": "modify",
      "old_id": "409dbd3a470fd77eac961c8c79cd58c95b31c6b1",
      "old_mode": 33188,
      "old_path": "gdb/python/py-unwind.c",
      "new_id": "2e13b84eb126c66ae019431a70af4dc0f1075e6a",
      "new_mode": 33188,
      "new_path": "gdb/python/py-unwind.c"
    },
    {
      "type": "modify",
      "old_id": "d0a1960058bff27b73e1dc73eea203e5fe69afd6",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.python/py-unwind.exp",
      "new_id": "e7c4c23dae24e307603d52d88430875ec3c017ec",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.python/py-unwind.exp"
    },
    {
      "type": "modify",
      "old_id": "4e110c51e3b3f756ea73b165233c4accfe234306",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.python/py-unwind.py",
      "new_id": "5853abc7486c95bbc8abc76b48d30992607915e6",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.python/py-unwind.py"
    }
  ]
}
