You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2015/12/13 17:02:32 UTC

[15/15] incubator-freemarker git commit: Change log for stack usage usage optimization and AST cleanup.

Change log for stack usage usage optimization and AST cleanup.


Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/83920692
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/83920692
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/83920692

Branch: refs/heads/2.3-gae
Commit: 83920692f18c3e00ad845e75b727af5bccaea44a
Parents: 81f81e9
Author: ddekany <dd...@apache.org>
Authored: Sun Dec 13 17:02:00 2015 +0100
Committer: ddekany <dd...@apache.org>
Committed: Sun Dec 13 17:02:00 2015 +0100

----------------------------------------------------------------------
 src/manual/book.xml | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/83920692/src/manual/book.xml
----------------------------------------------------------------------
diff --git a/src/manual/book.xml b/src/manual/book.xml
index a35f8d2..0b80c41 100644
--- a/src/manual/book.xml
+++ b/src/manual/book.xml
@@ -26200,6 +26200,12 @@ TemplateModel x = env.getVariable("x");  // get variable x</programlisting>
             </listitem>
 
             <listitem>
+              <para>Decrease the stack usage of template execution, which can
+              have importance if you have very very deeply nested
+              templates.</para>
+            </listitem>
+
+            <listitem>
               <para>Bug fixed, only with
               <literal>incompatible_improvements</literal> set to 2.3.24
               (<link linkend="topic.defaultObjectWrapperIcI">see how
@@ -26287,6 +26293,24 @@ TemplateModel x = env.getVariable("x");  // get variable x</programlisting>
             </listitem>
 
             <listitem>
+              <para>Internal reworking to simplify the AST (the
+              <literal>TemplateElement</literal> structure). The API related
+              technically public API was marked as internal for a good while.
+              For those who still use that API, the visible change is that
+              <literal>TemplateElement</literal>-s now almost never has a
+              <literal>MixedContent</literal> parent, instead, the parent is
+              directly whatever element the child element indeed belongs under
+              when you look at the source code (like the enclosing
+              <literal>#list</literal> for example, no a
+              <literal>MixedContent</literal> whose parent is the
+              <literal>#list</literal>). Note that when you have moved
+              downwards, towards the child elements, these
+              <literal>MixedContent</literal> parents weren't visible either
+              either, so the tree traversal API was in fact inconsistent. Now
+              it's consistent.</para>
+            </listitem>
+
+            <listitem>
               <para>The non-public AST API of
               <literal>freemarker.core.StringLiteral</literal>-s has been
               changed. In principle it doesn't mater as it isn't a public API,