summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Text/Handlebars.pm4
-rw-r--r--lib/Text/Handlebars/Compiler.pm12
2 files changed, 5 insertions, 11 deletions
diff --git a/lib/Text/Handlebars.pm b/lib/Text/Handlebars.pm
index 68c8d1f..154a78b 100644
--- a/lib/Text/Handlebars.pm
+++ b/lib/Text/Handlebars.pm
@@ -164,10 +164,6 @@ sub _register_builtin_methods {
my ($funcs) = @_;
weaken(my $weakself = $self);
- $funcs->{'(render_string)'} = sub {
- my ($to_render, $vars) = @_;
- return $weakself->render_string($to_render, $vars);
- };
$funcs->{'(find_file)'} = sub {
my ($filename) = @_;
return $filename if try { $weakself->find_file($filename); 1 };
diff --git a/lib/Text/Handlebars/Compiler.pm b/lib/Text/Handlebars/Compiler.pm
index cf4ad39..251050b 100644
--- a/lib/Text/Handlebars/Compiler.pm
+++ b/lib/Text/Handlebars/Compiler.pm
@@ -207,7 +207,7 @@ sub is_unary {
my ($id) = @_;
my %unary = (
- map { $_ => 1 } qw(builtin_is_array_ref is_code_ref)
+ map { $_ => 1 } qw(builtin_is_array_ref is_code_ref render_string)
);
return $unary{$id};
@@ -250,12 +250,10 @@ sub _generate_run_code {
);
}
- # XXX turn this into an opcode
- my $render_string = $self->call(
- $node,
- '(render_string)',
- $to_render,
- $self->vars,
+ my $render_string = $self->parser->symbol('(render_string)')->clone(
+ id => 'render_string',
+ arity => 'unary',
+ first => $to_render,
);
return $self->compile_ast($render_string);