diff --git a/docs/extensions.rst b/docs/extensions.rst
index 63e9cd9..4f9aa22 100644
--- a/docs/extensions.rst
+++ b/docs/extensions.rst
@@ -25,6 +25,8 @@
 i18n Extension
 --------------
 
+**Import name:** `jinja2.ext.i18n`
+
 Jinja2 currently comes with one extension, the i18n extension.  It can be
 used in combination with `gettext`_ or `babel`_.  If the i18n extension is
 enabled Jinja2 provides a `trans` statement that marks the wrapped string as
@@ -90,6 +92,16 @@
 .. _Babel: http://babel.edgewall.org/
 
 
+do
+~~
+
+**Import name:** `jinja2.ext.do`
+
+The do aka expression-statement extension adds a simple `do` tag to the
+template engine that works like a variable expression but ignores the
+return value.
+
+
 .. _writing-extensions:
 
 Writing Extensions
diff --git a/docs/templates.rst b/docs/templates.rst
index 3adf98a..935eff7 100644
--- a/docs/templates.rst
+++ b/docs/templates.rst
@@ -1012,3 +1012,13 @@
 
 For multiple placeholders always use keyword arguments to `format` as other
 languages may not use the words in the same order.
+
+
+do
+~~
+
+If the expression-statement extension is loaded a tag called `do` is available
+that works exactly like the regular variable expression (``{{ ... }}``) just
+that it doesn't print anything.  This can be used to modify lists:
+
+    {% do navigation.append('a string') %}
diff --git a/jinja2-debug.py b/jinja2-debug.py
index f2fa94a..a250a62 100755
--- a/jinja2-debug.py
+++ b/jinja2-debug.py
@@ -13,7 +13,7 @@
 import jinja2
 from werkzeug import script
 
-env = jinja2.Environment(extensions=['jinja2.ext.i18n'])
+env = jinja2.Environment(extensions=['jinja2.ext.i18n', 'jinja2.ext.do'])
 
 def shell_init_func():
     def _compile(x):
diff --git a/jinja2/defaults.py b/jinja2/defaults.py
index 62dfda2..e124930 100644
--- a/jinja2/defaults.py
+++ b/jinja2/defaults.py
@@ -25,8 +25,7 @@
 DEFAULT_NAMESPACE = {
     'range':        xrange,
     'dict':         lambda **kw: kw,
-    'lipsum':       generate_lorem_ipsum,
-    'void':         lambda *a: u''
+    'lipsum':       generate_lorem_ipsum
 }
 
 
diff --git a/jinja2/ext.py b/jinja2/ext.py
index 119fe4e..bd64cce 100644
--- a/jinja2/ext.py
+++ b/jinja2/ext.py
@@ -277,6 +277,18 @@
         return nodes.Output([node])
 
 
+class ExprStmtExtension(Extension):
+    """Adds a `do` tag to Jinja2 that works like the print statement just
+    that it doesn't print the return value.
+    """
+    tags = set(['do'])
+
+    def parse(self, parser):
+        node = nodes.ExprStmt(lineno=parser.stream.next().lineno)
+        node.node = parser.parse_tuple()
+        return node
+
+
 def extract_from_ast(node, gettext_functions=GETTEXT_FUNCTIONS):
     """Extract localizable strings from the given template node.
 
@@ -360,3 +372,4 @@
 
 #: nicer import names
 i18n = InternationalizationExtension
+do = ExprStmtExtension
