This PR was merged into the 3.x branch.
Discussion
----------
Fix Error when the trace has Twig file/line information instead of the original PHP info
See https://github.com/twigphp/Twig/pull/4592/files#r1966616393
/cc `@smnandre`
Commits
-------
7b43bd0fd7 Fix Error when the trace has Twig file/line information instead of the original PHP info
This PR was merged into the 3.x branch.
Discussion
----------
Sync Error file and line
The PHP exception file and name go together. So, we should only update the line number only if we have a file.
Commits
-------
4a121d90c6 Sync Error file and line
This PR was merged into the 3.x branch.
Discussion
----------
Remove template source from Template::loadTemplate()
Closes#3266
The first commit supports string and Source. But I think we don't even need to pass anything (that's the other commits).
Commits
-------
d7702840da Remove $templateName from Template::loadTemplate()
This PR was merged into the 3.x branch.
Discussion
----------
Make `in_array()` calls strict
I propose to add `strict: true` to all calls to `in_array()`, making the calls faster.
Commits
-------
9c6b95f2a6 Make `in_array()` calls strict
* 3.x:
Fix testing and expression when it evaluates to an instance of Markup
Simplify Error implementation
Make the defined test implementation more generic
fix typo
fix the rst syntax of the operator precedence table
This PR was merged into the 3.x branch.
Discussion
----------
Fix testing and expression when it evaluates to an instance of Markup
Refs #3651
Commits
-------
d72c1c6b1e Fix testing and expression when it evaluates to an instance of Markup
This PR was merged into the 3.x branch.
Discussion
----------
Make the defined test implementation more generic
Commits
-------
2d84abfd08 Make the defined test implementation more generic
This PR was merged into the 3.x branch.
Discussion
----------
fix the rst syntax of the operator precedence table
Commits
-------
a544dc8b33 fix the rst syntax of the operator precedence table
This PR was merged into the 4.x branch.
Discussion
----------
Make the raw filter more "sticky"
When using `{{ foo|raw }}`, the expression won't be escaped as expected.
But if you store the result and reuse it afterwards, the value is not considered "safe" anymore:
`{% set bar = foo|raw %}{{ bar }}`
Here `bar` will be escaped.
For Twig 4.x, I propose to make the `raw` filter "sticky" by wrapping the value with `Markup`. That way, the second example won't be escaped as expected.
Commits
-------
54dea53382 Make the raw filter "sticky"
This PR was merged into the 3.x branch.
Discussion
----------
Add a proper prefix spread operator
Now that 3.x has bumped the PHP min version to 8.1, we can move the spread operator to a real one.
Commits
-------
3964aeba78 Add a proper prefix spread operator
This PR was merged into the 3.x branch.
Discussion
----------
Avoid storing expression parser instances in Node attributes
That avoids polluting Node instances and exposing a purely internal state.
Commits
-------
d6f539bb01 Avoid storing expression parser instances in Node attributes