*** Template-2.8.pm	Sat Feb 25 02:37:57 2006
--- Template.pm	Sat Feb 25 08:40:30 2006
***************
*** 1599,1604 ****
--- 1599,1605 ----
    my $self = shift;
    my $options = $self->{options};
  
+   local $HTML::Template::this_file;
    my @pstacks = ($self->{parse_stack});
    while(@pstacks) {
      my $pstack = pop(@pstacks);
***************
*** 1625,1630 ****
--- 1626,1632 ----
    print STDERR "### HTML::Template Memory Debug ### START INIT_TEMPLATE ", $self->{proc_mem}->size(), "\n"
      if $options->{memory_debug};
  
+   local $HTML::Template::this_file;
    if (exists($options->{filename})) {    
      my $filepath = $options->{filepath};
      if (not defined $filepath) {
***************
*** 1643,1648 ****
--- 1645,1651 ----
      $self->{template} = "";
      while (read(TEMPLATE, $self->{template}, 10240, length($self->{template}))) {}
      close(TEMPLATE);
+     $HTML::Template::this_file = $filepath;
  
    } elsif (exists($options->{scalarref})) {
      # copy in the template text
***************
*** 1704,1715 ****
        eval {
          if ($format eq 'scalar') {
            # call
!           $sub->($template_ref);
          } else {
  	  # modulate
  	  my @array = map { $_."\n" } split("\n", $$template_ref);
            # call
!           $sub->(\@array);
  	  # demodulate
  	  $$template_ref = join("", @array);
          }
--- 1707,1718 ----
        eval {
          if ($format eq 'scalar') {
            # call
!           $sub->($template_ref, $self);
          } else {
  	  # modulate
  	  my @array = map { $_."\n" } split("\n", $$template_ref);
            # call
!           $sub->(\@array, $self);
  	  # demodulate
  	  $$template_ref = join("", @array);
          }
***************
*** 2247,2253 ****
  	my $included_template = "";
          while(read(TEMPLATE, $included_template, 10240, length($included_template))) {}
  	close(TEMPLATE);
! 	
  	# call filters if necessary
  	$self->_call_filters(\$included_template) if @{$options->{filter}};
  	
--- 2250,2257 ----
  	my $included_template = "";
          while(read(TEMPLATE, $included_template, 10240, length($included_template))) {}
  	close(TEMPLATE);
! 
!     local $HTML::Template::this_file = $filepath;
  	# call filters if necessary
  	$self->_call_filters(\$included_template) if @{$options->{filter}};
  	




