)]}'
{
  "commit": "da717519ecd17bf6c7ed334c12ff861f63b0f14f",
  "tree": "582df2633e6f0e769a797bb496aea0944c58a111",
  "parents": [
    "c9118afd045a64ca22d4a8cc5d43532607083b2d"
  ],
  "author": {
    "name": "John Belmonte",
    "email": "john@neggie.net",
    "time": "Mon Jul 11 15:40:53 2022 +0900"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 11 07:40:53 2022 +0100"
  },
  "message": "gh-93883: elide traceback indicators when possible (#93994)\n\n* gh-93883: elide traceback indicators when possible\n\nElide traceback column indicators when the entire line of the\nframe is implicated.  This reduces traceback length and draws\neven more attention to the remaining (very relevant) indicators.\n\nExample:\n```\nTraceback (most recent call last):\n  File \"query.py\", line 99, in \u003cmodule\u003e\n    bar()\n  File \"query.py\", line 66, in bar\n    foo()\n  File \"query.py\", line 37, in foo\n    magic_arithmetic(\u0027foo\u0027)\n  File \"query.py\", line 18, in magic_arithmetic\n    return add_counts(x) / 25\n           ^^^^^^^^^^^^^\n  File \"query.py\", line 24, in add_counts\n    return 25 + query_user(user1) + query_user(user2)\n                ^^^^^^^^^^^^^^^^^\n  File \"query.py\", line 32, in query_user\n    return 1 + query_count(db, response[\u0027a\u0027][\u0027b\u0027][\u0027c\u0027][\u0027user\u0027], retry\u003dTrue)\n                               ~~~~~~~~~~~~~~~~~~^^^^^\nTypeError: \u0027NoneType\u0027 object is not subscriptable\n```\n\nRather than going out of our way to provide indicator coverage\nin every traceback test suite, the indicator test suite should\nbe responible for sufficient coverage (e.g. by adding a basic\nexception group test to ensure that margin strings are covered).",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "796309c6cf0bb9eb96e0154058598be1fe639710",
      "old_mode": 33188,
      "old_path": "Doc/library/traceback.rst",
      "new_id": "a8412cc93d16f95a356e5a63cabeac1f085b479b",
      "new_mode": 33188,
      "new_path": "Doc/library/traceback.rst"
    },
    {
      "type": "modify",
      "old_id": "95991528444c7cf4d8ebf4015581cadde74d1936",
      "old_mode": 33188,
      "old_path": "Doc/whatsnew/3.11.rst",
      "new_id": "f7274a8cea1589a338aa086079bfef10f05a7524",
      "new_mode": 33188,
      "new_path": "Doc/whatsnew/3.11.rst"
    },
    {
      "type": "modify",
      "old_id": "d859ffc153fcddcc064ad3932c4b8d5d79f246ea",
      "old_mode": 33188,
      "old_path": "Lib/idlelib/idle_test/test_run.py",
      "new_id": "ec4637c5ca617a9eb380d46825ee32c429520edc",
      "new_mode": 33188,
      "new_path": "Lib/idlelib/idle_test/test_run.py"
    },
    {
      "type": "modify",
      "old_id": "d783af65839ad9d2aa8ccb24b9d9487e0b41acab",
      "old_mode": 33188,
      "old_path": "Lib/test/test_cmd_line_script.py",
      "new_id": "9e98edf2146ca942dcb3e1f70da783e5bb03e632",
      "new_mode": 33188,
      "new_path": "Lib/test/test_cmd_line_script.py"
    },
    {
      "type": "modify",
      "old_id": "7c799697d9c225fdc20e80886773a8a16ffa73d9",
      "old_mode": 33188,
      "old_path": "Lib/test/test_doctest.py",
      "new_id": "65e215f1cdda4a6f8e5f098fd7e3019a04d0230a",
      "new_mode": 33188,
      "new_path": "Lib/test/test_doctest.py"
    },
    {
      "type": "modify",
      "old_id": "72d67bf6ef14071824fc8f28877fa5f003937328",
      "old_mode": 33188,
      "old_path": "Lib/test/test_traceback.py",
      "new_id": "f4161fbf0178dedecd34d593ff971ebeea2b9494",
      "new_mode": 33188,
      "new_path": "Lib/test/test_traceback.py"
    },
    {
      "type": "modify",
      "old_id": "3afe49d1d8a0e655f156621d2b960f436a19f538",
      "old_mode": 33188,
      "old_path": "Lib/traceback.py",
      "new_id": "55f8080044053ea06260c6a54cf50c5de0324d88",
      "new_mode": 33188,
      "new_path": "Lib/traceback.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "53345577036a5ad454ff4ebff4dfe09f1765bef7",
      "new_mode": 33188,
      "new_path": "Misc/NEWS.d/next/Core and Builtins/2022-06-24-14-06-20.gh-issue-93883.8jVQQ4.rst"
    },
    {
      "type": "modify",
      "old_id": "439689b32aea8ab833f72e50eaba700482064ba1",
      "old_mode": 33188,
      "old_path": "Python/traceback.c",
      "new_id": "de658b9103180ea0eed5044f8ccdcf6558994067",
      "new_mode": 33188,
      "new_path": "Python/traceback.c"
    }
  ]
}
