From 6f0daf7d3c5fa3311cb6c11257cb671981eadc3a Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 24 Oct 2012 18:00:21 -0500 Subject: gfx doesn't want to support a render_string opcode --- lib/Text/Handlebars.pm | 4 ++++ lib/Text/Handlebars/Compiler.pm | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'lib/Text') diff --git a/lib/Text/Handlebars.pm b/lib/Text/Handlebars.pm index 2bd0096..d4a3778 100644 --- a/lib/Text/Handlebars.pm +++ b/lib/Text/Handlebars.pm @@ -143,6 +143,10 @@ 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->{'(make_block_helper)'} = sub { my ($code, $raw_text, $else_raw_text, $hash) = @_; diff --git a/lib/Text/Handlebars/Compiler.pm b/lib/Text/Handlebars/Compiler.pm index de7b0c4..5b99471 100644 --- a/lib/Text/Handlebars/Compiler.pm +++ b/lib/Text/Handlebars/Compiler.pm @@ -236,7 +236,7 @@ sub is_unary { my %unary = ( map { $_ => 1 } qw(builtin_is_array_ref builtin_is_hash_ref is_code_ref - find_file render_string) + find_file) ); return $unary{$id}; @@ -279,10 +279,12 @@ sub _generate_run_code { ); } - my $render_string = $self->parser->symbol('(render_string)')->clone( - id => 'render_string', - arity => 'unary', - first => $to_render, + # XXX turn this into an opcode + my $render_string = $self->call( + $node, + '(render_string)', + $to_render, + $self->vars, ); return $self->compile_ast($render_string); -- cgit v1.2.3-54-g00ecf