[Jifty-commit] r6188 - in Template-Declare/branches/markapl-syntax: lib/Template/Declare
Jifty commits
jifty-commit at lists.jifty.org
Thu Dec 25 15:16:17 EST 2008
Author: gugod
Date: Thu Dec 25 15:16:17 2008
New Revision: 6188
Modified:
Template-Declare/branches/markapl-syntax/ (props changed)
Template-Declare/branches/markapl-syntax/lib/Template/Declare/Tags.pm
Log:
r9521 at yra: gugod | 2008-12-26 04:14:01 +0800
Some work in progress to make closure.t pass...
Modified: Template-Declare/branches/markapl-syntax/lib/Template/Declare/Tags.pm
==============================================================================
--- Template-Declare/branches/markapl-syntax/lib/Template/Declare/Tags.pm (original)
+++ Template-Declare/branches/markapl-syntax/lib/Template/Declare/Tags.pm Thu Dec 25 15:16:17 2008
@@ -176,8 +176,10 @@
on_scope_end {
my $linestr = Devel::Declare::get_linestr;
my $offset = Devel::Declare::get_linestr_offset;
- substr($linestr, $offset, 0) = ';';
- Devel::Declare::set_linestr($linestr);
+ if (substr($linestr, $offset, 1) ne ",") {
+ substr($linestr, $offset, 0) = ';';
+ Devel::Declare::set_linestr($linestr);
+ }
};
}
@@ -185,13 +187,16 @@
my ($tag, $tagset) = @_;
return sub {
- my $block = pop;
- if ((ref($block) ne 'CODE')) {
- push @_, $block;
- $block = sub {};
+ my @attr;
+ my $block;
+
+ for (@_) {
+ if (ref($_) eq 'CODE') {
+ $block = $_;
+ last;
+ }
+ push @attr, $_;
}
-
- my @attr = @_;
if (@attr == 1) {
%ATTRIBUTES = ();
@@ -206,9 +211,7 @@
} elsif(@attr > 1) {
%ATTRIBUTES = (@attr);
}
-
_tag($tag, $tagset, $block);
- return '';
}
}
@@ -227,10 +230,10 @@
my $name = strip_name;
my $proto = strip_proto;
-
+
inject_if_block("no strict 'subs'; BEGIN { Template::Declare::Tags::inject_scope }; use strict 'subs';");
- unless (inject_before_block(defined $proto ? "$proto, sub" : "sub")) {
+ unless (inject_before_block(defined $proto ? "$proto, sub" : " sub")) {
inject_right_here("($proto)") if defined $proto;
}
More information about the Jifty-commit
mailing list