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/master Commit: 83920692f18c3e00ad845e75b727af5bccaea44a Parents: 81f81e9 Author: ddekany <ddek...@apache.org> Authored: Sun Dec 13 17:02:00 2015 +0100 Committer: ddekany <ddek...@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,