From 3e8234b77e2698d14a7825319845e5038424f09d Mon Sep 17 00:00:00 2001
From: Jacek Bzdak <jbzdak@gmail.com>
Date: Tue, 20 Oct 2015 19:12:48 +0200
Subject: [PATCH] [1.8.x] Fixed #25574 -- Documented {{ dict.items }} shadowing
 in for template tag docs.

Backport of 32cd7069711d2e02fcd20c005c59c175d542c62e from master
---
 docs/ref/templates/builtins.txt | 8 ++++++++
 docs/ref/templates/language.txt | 2 ++
 2 files changed, 10 insertions(+)

diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt
index f12ffb0c65..e15896f05e 100644
--- a/docs/ref/templates/builtins.txt
+++ b/docs/ref/templates/builtins.txt
@@ -320,6 +320,14 @@ would display the keys and values of the dictionary::
         {{ key }}: {{ value }}
     {% endfor %}
 
+Keep in mind that for the dot operator, dictionary key lookup takes precedence
+over method lookup. Therefore if the ``data`` dictionary contains a key named
+``'items'``, ``data.items`` will return ``data['items']`` instead of
+``data.items()``. Avoid adding keys that are named like dictionary methods if
+you want to use those methods in a template (``items``, ``values``, ``keys``,
+etc.). Read more about the lookup order of the dot operator in the
+:ref:`documentation of template variables <template-variables>`.
+
 The for loop sets a number of variables available within the loop:
 
 ==========================  ===============================================
diff --git a/docs/ref/templates/language.txt b/docs/ref/templates/language.txt
index 4691a07689..0a50adfa19 100644
--- a/docs/ref/templates/language.txt
+++ b/docs/ref/templates/language.txt
@@ -74,6 +74,8 @@ explained later in this document.
 
     Oh, and one more thing: making humans edit XML is sadistic!
 
+.. _template-variables:
+
 Variables
 =========