This is an automated email from the ASF dual-hosted git repository.

ddekany pushed a commit to branch 3
in repository https://gitbox.apache.org/repos/asf/freemarker.git


The following commit(s) were added to refs/heads/3 by this push:
     new c8bbfd7  Small fixes/ improved readability
     new 71e7586  Merge pull request #78 from jido/patch-1
c8bbfd7 is described below

commit c8bbfd77081b58b23b7efad6a9ddfb823d83a4cd
Author: Denis Bredelet <denisgit...@bredelet.com>
AuthorDate: Tue Feb 8 22:38:08 2022 +0000

    Small fixes/ improved readability
---
 FM3-CHANGE-LOG.txt | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/FM3-CHANGE-LOG.txt b/FM3-CHANGE-LOG.txt
index 20bbf95..8db3788 100644
--- a/FM3-CHANGE-LOG.txt
+++ b/FM3-CHANGE-LOG.txt
@@ -37,19 +37,19 @@ Major template language changes / features
 - Switched to camel case as the only supported naming convention. This is as 
if in FM2 you set the "namingConvention"
   configuration setting to "camelCase", however the "namingConvention" setting 
was removed, as no other convention will
   be supported (for the default dialect at least). Also, configuration setting 
names and values must use camel case
-  too (FM2 was forgiving there). Also, in XML processing, the @@ names were 
also converted to camel case. This means
-  `#elseif` becomes to ``#elseIf`, ``?upper_case`, `?upperCase`, and if you 
configure FreeMarker with Properties,
-  then `template_loader` becomes to `templateLoader`, and if you use the XML 
features, then `node.@@nested_markup`
-  becomes to `node.@@nestedMarkup`.
+  too (FM2 was forgiving there). Also, in XML processing, the @@ names were 
converted to camel case. This means
+  `#elseif` becomes ``#elseIf`, ``?upper_case` becomes `?upperCase`, and if 
you configure FreeMarker with Properties,
+  then `template_loader` becomes `templateLoader`, and if you use the XML 
features, then `node.@@nested_markup`
+  becomes `node.@@nestedMarkup`.
   Note that the template converter tool takes care of this conversion.
 - Parameters passed by position (as opposed to by name) must be separated by 
comma. Earlier the comma was optional.
   (This is needed to allow passing parameters both by-position and by-name in 
the same invocation, which is not yet
   implemented though.)
   Examples:
-  `<@x x + 1 2 3 />` now must be written as `<@x x + 1, 2, 3 />`
-  `<#nested x y>` now must be written as `<#nested x, y>`
+  `<@x x + 1 2 3 />` must now be written as `<@x x + 1, 2, 3 />`
+  `<#nested x y>` must now be written as `<#nested x, y>`
 - #macro-s and #function  
-  - Both #macro-s and #function-s can now define parameters that are passed by 
position, and that are passed by name.
+  - Both #macro-s and #function-s can now define parameters that are passed by 
position, and parameters that are passed by name.
     Function parameters are by default positional, which can be changed by 
adding `{named}` after the parameter name.
     Macro parameters are by default named, which can be changed by adding 
`{positional}` after the parameter name.
     Positional parameters always precede the named ones. There can be both a 
positional and a named varargs parameter;
@@ -65,9 +65,9 @@ Major template language changes / features
     by name. In FM3 that won't work anymore, as now a parameter is either 
strictly positional or strictly named.
 - Operator for handing null/missing values were reworked:
   - The right-side operator precedence of the `exp!defaultExp` (and `exp!`) 
operator is now the same precedence on
-    both sides, which is lower as the precedence of `.`, but higher as the 
precedence of `+`. The converter takes
-    care of cases where this would change the meaning of the expression (like 
`x!y+1` is converted to `x!(x+1)`.)
-  - The value of `missing!` now can be used as boolean `false`, and as a 
function that returns `null` and accepts
+    both sides, which is lower than the precedence of `.`, but higher than the 
precedence of `+`. The converter takes
+    care of cases where this would change the meaning of the expression (like 
`x!y+1` is converted to `x!(y+1)`.)
+  - The value of `missing!` can now be used as boolean `false`, and as a 
function that returns `null` and accepts
     any arguments, and as a directive that does nothing and allows any 
arguments (not only as "", empty sequence,
     and empty hash).
   - [TODO] Deeper changes are supposed to happen here later. (Some of the 
above changes will be meaningless then.)
@@ -98,7 +98,7 @@ Node: Changes already mentioned above aren't repeated here!
   - <#foreach x in xs>...</#foreach> (deprecated by <#list xs as x>...</#list>)
 - Removed long deprecated `#{}` interpolations. They are treated as plain 
static text now.
   Converter note: The template converter tool translates these to `${}` 
interpolations. For example `#{x}` is simply
-  translated to `${b}`, while `#{x; m1M3}` is translated to 
`${x?string('0.0##')}`). The output should remain the same.
+  translated to `${x}`, while `#{x; m1M3}` is translated to 
`${x?string('0.0##')}`). The output should remain the same.
 - In `#macro` and `#function` the comma must only be used between by-position 
parameters (earlier the comma was
   optional).
 - In `#function`, parentheses are now required around parameter list (as in 
`<#function f(a, b)>`), even if there are
@@ -234,7 +234,7 @@ Major changes / features
   - Callable `TemplateModel`-s (i.e., models that can be called like 
`foo(...)` or as `<@foo .../>`) were replaced by
     `TemplateFunctionModel` and the reworked `TemplateDirectiveModel` 
interface. Both of these support padding arguments
     by position and by name, even in the same call (e.g., `<@heading "Some 
title" icon="foo.jpg" />`, `sum(1, 2, 3, abs=true)`).
-    Because of the extended capabiliteis of this interface, callables defined 
inside templates (via `#function` and `#macro`)
+    Because of the extended capabilities of this interface, callables defined 
inside templates (via `#function` and `#macro`)
     are now just create `TemplateFunctionModel` and `TemplateDirectiveModel` 
objects.
   - Listable TemplateModel-s and their intheriance hierarchy are now much more 
similar the Java collection API:
     TemplateIterableModel > TemplateCollectionModel > TemplateSequenceModel 
[TODO: This last will be TemplateListModel].
@@ -242,7 +242,7 @@ Major changes / features
   Added org.slf4j:slf4j-api as required dependency instead.
 - Added Spring support to the FreeMarker project (freemarker-spring module), 
instead of relying Spring developers
   [Note: This is in very early stage, as of 2017-07-06.]
-- Added `Configuration.templateLangauge` and the `TemplateLanguage` class, 
which encapsulate the syntax and some of the
+- Added `Configuration.templateLanguage` and the `TemplateLanguage` class, 
which encapsulate the syntax and some of the
   semantics, most importantly the `outputFormat`.
 - Each `TemplateLanguage` has an associated file extension, which should be 
sufficient for editors (IDE-s) to chose the
   proper syntax highlighting. Syntax auto-detection was removed, as editors 
couldn't cope with it. Thus, the new file
@@ -575,7 +575,7 @@ Core / Miscellaneous
 
 - Minimum Java version increased to 8
 - Removed support for incompatibleImprovements before 3.0.0. So currently 
3.0.0 is the only support value.
-- Removed legacy extensions (so these has no module): rhyno, jython, xml (not 
to be confused with dom), jdom, ant.
+- Removed legacy extensions (so these have no module): rhino, jython, xml (not 
to be confused with dom), jdom, ant.
 - Servlet 3.0 and JSP 2.2 and is the minimum requirement now (if Serlvet/JSP 
features are used at all).
 - Log categories are now simply the full qualified class name of the logging 
classes. There are no predefined log
   categories (such as "freemarker.runtime", etc.) anymore. This is to follow 
the common practices in logging.

Reply via email to