Changeset 1660

Show
Ignore:
Timestamp:
04/01/08 00:59:17 (8 months ago)
Author:
bchoate
Message:

Surface errors from conditional/else blocks. BugId:74212

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/release-32/lib/MT/Template/Context.pm

    r1594 r1660  
    258258    my ($ctx, $args, $cond) = @_; 
    259259    my $tokens  = $ctx->stash('tokens'); 
    260     $tokens ? $ctx->stash('builder')->build($ctx, $tokens, $cond) : ''; 
     260    return '' unless $tokens; 
     261    my $result = $ctx->stash('builder')->build($ctx, $tokens, $cond); 
     262    return $ctx->error($ctx->stash('builder')->errstr) 
     263        unless defined $result; 
     264    return $result; 
    261265} 
    262266 
    263267sub else { 
    264268    my ($ctx, $args, $cond) = @_; 
    265     my $else = $ctx->stash('tokens_else'); 
    266     $else ? $ctx->stash('builder')->build($ctx, $else, $cond) : ''; 
     269    my $tokens = $ctx->stash('tokens_else'); 
     270    return '' unless $tokens; 
     271    my $result = $ctx->stash('builder')->build($ctx, $tokens, $cond); 
     272    return $ctx->error($ctx->stash('builder')->errstr) 
     273        unless defined $result; 
     274    return $result; 
    267275} 
    268276