)]}'
{
  "commit": "2ca5a52dcb2f184d71fbbf2a28372c5882d990a8",
  "tree": "0343b376bfd51ba7a3dbb645ed40c53c6e620edb",
  "parents": [
    "383b2e75a7a4198c42f8f87833eefb772868a56f"
  ],
  "author": {
    "name": "Rich Hong",
    "email": "hong.rich@gmail.com",
    "time": "Mon Sep 28 16:32:38 2020 -0400"
  },
  "committer": {
    "name": "Alberto Donizetti",
    "email": "alb.donizetti@gmail.com",
    "time": "Tue Sep 14 15:38:28 2021 +0000"
  },
  "message": "internal/language: fix canonicalization of extlang\n\nparseTag tries to replace \u003clang\u003e-\u003cextlang\u003e with \u003cextlang\u003e, but \u003cextlang\u003e\nitself can also be replaced with its canonical form which can be a\ndifferent length than the original \u003cextlang\u003e. The existing\nimplementation assumes that the length of \u003cextlang\u003e is 3 and would leave\nscanner positions in an incorrect state if the length of \u003cextlang\u003e is\nnot 3.\n\nFixes golang/go#41617\n\nChange-Id: Ie0da320530e2545f9b521e7b8cf503d854c50b45\nReviewed-on: https://go-review.googlesource.com/c/text/+/260177\nRun-TryBot: Alberto Donizetti \u003calb.donizetti@gmail.com\u003e\nTryBot-Result: Go Bot \u003cgobot@golang.org\u003e\nTrust: Alberto Donizetti \u003calb.donizetti@gmail.com\u003e\nTrust: Cherry Mui \u003ccherryyz@google.com\u003e\nTrust: Marcel van Lohuizen \u003cmpvl@golang.org\u003e\nReviewed-by: Marcel van Lohuizen \u003cmpvl@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "abe3a58c0d7098ff59e6d4038c2223849b6664b8",
      "old_mode": 33188,
      "old_path": "internal/language/compact/parse_test.go",
      "new_id": "2db200b88c351291745013ddf1442f1709a76dcc",
      "new_mode": 33188,
      "new_path": "internal/language/compact/parse_test.go"
    },
    {
      "type": "modify",
      "old_id": "8244c1c8a3696ea86e38f86405748795a1cd4b53",
      "old_mode": 33188,
      "old_path": "internal/language/language_test.go",
      "new_id": "668034d031c70b4954fe37908ff3e7375f336cc0",
      "new_mode": 33188,
      "new_path": "internal/language/language_test.go"
    },
    {
      "type": "modify",
      "old_id": "47ee0fed174f22d8e07542716ea146c12d894092",
      "old_mode": 33188,
      "old_path": "internal/language/parse.go",
      "new_id": "aad1e0acf77c8f33fc8f7ca84843f8ba8441ebd9",
      "new_mode": 33188,
      "new_path": "internal/language/parse.go"
    },
    {
      "type": "modify",
      "old_id": "e1d428aa62766d69f4c0ee777050fbbd9060de18",
      "old_mode": 33188,
      "old_path": "internal/language/parse_test.go",
      "new_id": "0af9e8a257c7d7476bda00331068b612cf383bde",
      "new_mode": 33188,
      "new_path": "internal/language/parse_test.go"
    },
    {
      "type": "modify",
      "old_id": "b2e3ce3c53b95d7bf17ffdf2ce5c4a5d02655b83",
      "old_mode": 33188,
      "old_path": "language/language_test.go",
      "new_id": "d45706c98f988d928274122d89e77d3687059867",
      "new_mode": 33188,
      "new_path": "language/language_test.go"
    },
    {
      "type": "modify",
      "old_id": "4b7e64db3260fba95ac98839793a30f756d71a85",
      "old_mode": 33188,
      "old_path": "language/parse_test.go",
      "new_id": "e1e5653ad678d1bc6f01d7f1a38b3b31346b695a",
      "new_mode": 33188,
      "new_path": "language/parse_test.go"
    }
  ]
}
