)]}'
{
  "commit": "9050550c12e2d09cf8f0c22a270cfa90120cdf6d",
  "tree": "014cb848c742805de43d7d3f5293e830af2baef6",
  "parents": [
    "edce6349639e321c3b1a34036a8fbc08ad363cd3"
  ],
  "author": {
    "name": "Rob Pike",
    "email": "r@golang.org",
    "time": "Mon Sep 24 13:23:15 2012 +1000"
  },
  "committer": {
    "name": "Rob Pike",
    "email": "r@golang.org",
    "time": "Mon Sep 24 13:23:15 2012 +1000"
  },
  "message": "text/template: allow .Field access to parenthesized expressions\n\nChange the grammar so that field access is a proper operator.\nThis introduces a new node, ChainNode, into the public (but\nactually internal) API of text/template/parse. For\ncompatibility, we only use the new node type for the specific\nconstruct, which was not parseable before. Therefore this\nshould be backward-compatible.\n\nBefore, .X.Y was a token in the lexer; this CL breaks it out\ninto .Y applied to .X. But for compatibility we mush them\nback together before delivering. One day we might remove\nthat hack; it\u0027s the simple TODO in parse.go/operand.\n\nThis change also provides grammatical distinction between\n        f\nand\n        (f)\nwhich might permit function values later, but not now.\n\nFixes #3999.\n\nR\u003dgolang-dev, dsymonds, gri, rsc, mikesamuel\nCC\u003dgolang-dev\nhttps://golang.org/cl/6494119\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ce12c1795c24ee81926523fab7695be789e5f836",
      "old_mode": 33188,
      "old_path": "src/pkg/html/template/escape_test.go",
      "new_id": "0d08101ecffc91badb25b5afd95d9431c68d4f92",
      "new_mode": 33188,
      "new_path": "src/pkg/html/template/escape_test.go"
    },
    {
      "type": "modify",
      "old_id": "224775c46c126c16a117ea0667598ee4f91cf4cc",
      "old_mode": 33188,
      "old_path": "src/pkg/text/template/doc.go",
      "new_id": "807914c24c87d1c6bd26d92c5b5333638c7c4679",
      "new_mode": 33188,
      "new_path": "src/pkg/text/template/doc.go"
    },
    {
      "type": "modify",
      "old_id": "1739a86179d8a808106c36af96eafa0fb192d701",
      "old_mode": 33188,
      "old_path": "src/pkg/text/template/exec.go",
      "new_id": "5e127d7db4c6d9799a43afe3b15db9da1440c28b",
      "new_mode": 33188,
      "new_path": "src/pkg/text/template/exec.go"
    },
    {
      "type": "modify",
      "old_id": "7f60dcafa519b6034405ad788c3a93a3fd1bdc4e",
      "old_mode": 33188,
      "old_path": "src/pkg/text/template/exec_test.go",
      "new_id": "0835d31f79da26adf4b232aa75085b7f280fb5e3",
      "new_mode": 33188,
      "new_path": "src/pkg/text/template/exec_test.go"
    },
    {
      "type": "modify",
      "old_id": "ddf4d3a54b90bc21b641e0c867a283ec0e638982",
      "old_mode": 33188,
      "old_path": "src/pkg/text/template/parse/lex.go",
      "new_id": "dd7a71335d881d1d3cd76c0c5668209dcbf52619",
      "new_mode": 33188,
      "new_path": "src/pkg/text/template/parse/lex.go"
    },
    {
      "type": "modify",
      "old_id": "d0d033406cf1db2860f527ced895fe1c3bb15ee4",
      "old_mode": 33188,
      "old_path": "src/pkg/text/template/parse/lex_test.go",
      "new_id": "d2264c991c989088e9a5afdb1f7fbbb150eb4d4f",
      "new_mode": 33188,
      "new_path": "src/pkg/text/template/parse/lex_test.go"
    },
    {
      "type": "modify",
      "old_id": "e6d106f3b77f941d06f2b8b38c2fa160d8cc70f8",
      "old_mode": 33188,
      "old_path": "src/pkg/text/template/parse/node.go",
      "new_id": "39e3b320bcb56d260b0a0bf756fb1529a4ec1462",
      "new_mode": 33188,
      "new_path": "src/pkg/text/template/parse/node.go"
    },
    {
      "type": "modify",
      "old_id": "c52e41d166dc1f70e978a8e1acf1c2199194f210",
      "old_mode": 33188,
      "old_path": "src/pkg/text/template/parse/parse.go",
      "new_id": "9e2af12ad7fef6ee354b5bab9b0079528fc8269a",
      "new_mode": 33188,
      "new_path": "src/pkg/text/template/parse/parse.go"
    },
    {
      "type": "modify",
      "old_id": "4be4ca077d4583b1dde1c32fd4cc8e2c07c558fd",
      "old_mode": 33188,
      "old_path": "src/pkg/text/template/parse/parse_test.go",
      "new_id": "0f75c33e7779b23adfcee1e26e7dd66a6403ebcb",
      "new_mode": 33188,
      "new_path": "src/pkg/text/template/parse/parse_test.go"
    }
  ]
}
