@@ -23,8 +23,6 @@ public static function compileTemplate(Context $context, string $template): stri
2323 return '' ;
2424 }
2525
26- Token::setDelimiter ($ context );
27-
2826 $ context ->compile = true ;
2927
3028 // Handle dynamic partials
@@ -36,7 +34,7 @@ public static function compileTemplate(Context $context, string $template): stri
3634 if (is_array ($ info )) {
3735 $ code .= "' " . static ::compileToken ($ context , $ info ) . "' " ;
3836 } else {
39- $ code .= $ info ;
37+ $ code .= addcslashes ( $ info, " ' " ) ;
4038 }
4139 }
4240
@@ -120,7 +118,7 @@ protected static function getVariableNames(Context $context, array $vn, array $b
120118 }
121119 $ exps [] = $ V [1 ];
122120 }
123- $ bp = $ blockParams ? ( ' ,[ ' . Expression::listString ($ blockParams) . ' ] ' ) : '' ;
121+ $ bp = $ blockParams ? ' , ' . Expression::listString ($ blockParams ) : '' ;
124122 return ['[[ ' . implode (', ' , $ vars [0 ]) . '],[ ' . implode (', ' , $ vars [1 ]) . "] $ bp] " , $ exps ];
125123 }
126124
@@ -253,7 +251,7 @@ protected static function compileToken(Context $context, array $info): string
253251 *
254252 * @param array<mixed> $vars parsed arguments list
255253 */
256- public static function partial (Context $ context , array $ vars ): string
254+ public static function partial (Context $ context , array & $ vars ): string
257255 {
258256 Parser::getBlockParams ($ vars );
259257 $ pid = Parser::getPartialBlock ($ vars );
@@ -266,7 +264,7 @@ public static function partial(Context $context, array $vars): string
266264 if (Parser::isSubExp ($ p )) {
267265 [$ p ] = static ::compileSubExpression ($ context , $ p [1 ]);
268266 } else {
269- $ p = " ' $ p [0 ]' " ;
267+ $ p = Expression:: quoteString ( $ p [0 ]) ;
270268 }
271269 $ sp = "( \$sp ?? '') . ' {$ context ->partialIndent }' " ;
272270 return $ context ->separator .
@@ -400,7 +398,7 @@ protected static function section(Context $context, array $vars, bool $isEach =
400398 $ be = '' ;
401399 if ($ isEach ) {
402400 $ bp = Parser::getBlockParams ($ vars );
403- $ bs = $ bp ? ( ' array( ' . Expression::listString ($ bp) . ' ) ' ) : 'null ' ;
401+ $ bs = $ bp ? Expression::listString ($ bp ) : 'null ' ;
404402 $ be = $ bp ? (' as | ' . implode (' ' , $ bp ) . '| ' ) : '' ;
405403 array_shift ($ vars );
406404 }
@@ -421,7 +419,7 @@ protected static function with(Context $context, array $vars)
421419 {
422420 $ v = isset ($ vars [1 ]) ? static ::getVariableNameOrSubExpression ($ context , $ vars [1 ]) : [null , []];
423421 $ bp = Parser::getBlockParams ($ vars );
424- $ bs = $ bp ? ( ' [ ' . Expression::listString ($ bp) . ' ] ' ) : 'null ' ;
422+ $ bs = $ bp ? Expression::listString ($ bp ) : 'null ' ;
425423 $ be = $ bp ? " as | $ bp [0 ]| " : '' ;
426424 return $ context ->separator . static ::getFuncName ($ context , 'wi ' , 'with ' . $ v [1 ] . $ be )
427425 . "\$cx, {$ v [0 ]}, $ bs, \$in, function( \$cx, \$in) { {$ context ->fStart }" ;
0 commit comments