[Templates-svn] r1089 - in trunk/lib/Template: . Namespace Plugin

svn@template-toolkit.org svn@template-toolkit.org


Author: abw
Date: 2007-05-30 11:41:24 +0100 (Wed, 30 May 2007)
New Revision: 1089

Modified:
   trunk/lib/Template/Base.pm
   trunk/lib/Template/Config.pm
   trunk/lib/Template/Constants.pm
   trunk/lib/Template/Context.pm
   trunk/lib/Template/Directive.pm
   trunk/lib/Template/Document.pm
   trunk/lib/Template/Exception.pm
   trunk/lib/Template/FAQ.pod
   trunk/lib/Template/Filters.pm
   trunk/lib/Template/Grammar.pm
   trunk/lib/Template/Iterator.pm
   trunk/lib/Template/Namespace/Constants.pm
   trunk/lib/Template/Parser.pm
   trunk/lib/Template/Plugin.pm
   trunk/lib/Template/Plugin/CGI.pm
   trunk/lib/Template/Plugin/Datafile.pm
   trunk/lib/Template/Plugin/Directory.pm
   trunk/lib/Template/Plugin/Filter.pm
   trunk/lib/Template/Plugin/Format.pm
   trunk/lib/Template/Plugin/HTML.pm
   trunk/lib/Template/Plugin/Image.pm
   trunk/lib/Template/Plugin/Iterator.pm
   trunk/lib/Template/Plugin/Math.pm
   trunk/lib/Template/Plugin/Pod.pm
   trunk/lib/Template/Plugin/Procedural.pm
   trunk/lib/Template/Plugin/String.pm
   trunk/lib/Template/Plugin/Table.pm
   trunk/lib/Template/Plugin/URL.pm
   trunk/lib/Template/Plugin/View.pm
   trunk/lib/Template/Plugin/Wrap.pm
   trunk/lib/Template/Plugins.pm
   trunk/lib/Template/Provider.pm
   trunk/lib/Template/Service.pm
   trunk/lib/Template/Test.pm
   trunk/lib/Template/VMethods.pm
   trunk/lib/Template/View.pm
Log:
fixed all the L<text|link> links which I had mistakenly written as L<link|text>.  What a dozy twonk!

Modified: trunk/lib/Template/Base.pm
===================================================================
--- trunk/lib/Template/Base.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Base.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -258,10 +258,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Config.pm
===================================================================
--- trunk/lib/Template/Config.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Config.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -393,10 +393,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Constants.pm
===================================================================
--- trunk/lib/Template/Constants.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Constants.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -238,10 +238,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Context.pm
===================================================================
--- trunk/lib/Template/Context.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Context.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -951,7 +951,7 @@
 
 A default C<Template::Context> object is created by the L<Template> module.
 Any C<Template::Context> options may be passed to the L<Template>
-L<Template#new()|new()> constructor method and will be forwarded to the
+L<new()|Template#new()> constructor method and will be forwarded to the
 C<Template::Context> constructor.
 
     use Template;
@@ -976,7 +976,7 @@
     });
 
 A C<Template::Context> object (or subclass) can be explicitly instantiated and
-passed to the L<Template> L<Template#new()|new()> constructor method as the
+passed to the L<Template> L<new()|Template#new()> constructor method as the
 C<CONTEXT> configuration item.
 
     use Template;
@@ -986,11 +986,11 @@
     my $template = Template->new({ CONTEXT => $context });
 
 The L<Template> module uses the L<Template::Config>
-L<Template::Config#context()|context()> factory method to create a default
+L<context()|Template::Config#context()> factory method to create a default
 context object when required. The C<$Template::Config::CONTEXT> package
 variable may be set to specify an alternate context module. This will be
 loaded automatically and its L<new()> constructor method called by the
-L<Template::Config#context()|context()> factory method when a default context
+L<context()|Template::Config#context()> factory method when a default context
 object is required.
 
     use Template;
@@ -1020,7 +1020,7 @@
 
 The C<new()> method returns a C<Template::Context> object or C<undef> on
 error. In the latter case, a relevant error message can be retrieved by the
-L<Template::Base#error()|error()> class method or directly from the
+L<error()|Template::Base#error()> class method or directly from the
 C<$Template::Context::ERROR> package variable.
 
     my $context = Template::Context->new(\%config)
@@ -1034,7 +1034,7 @@
 
 =head3 VARIABLES
 
-The L<Template::Manual::Config#VARIABLES|VARIABLES> option can be used to
+The L<VARIABLES|Template::Manual::Config#VARIABLES> option can be used to
 specify a hash array of template variables.
 
     my $context = Template::Context->new({
@@ -1047,7 +1047,7 @@
 
 =head3 BLOCKS
 
-The L<Template::Manual::Config#BLOCKS|BLOCKS> option can be used to pre-define
+The L<BLOCKS|Template::Manual::Config#BLOCKS> option can be used to pre-define
 a default set of template blocks.
 
     my $context = Template::Context->new({
@@ -1060,7 +1060,7 @@
 
 =head3 TRIM
 
-The L<Template::Manual::Config#TRIM|TRIM> option can be set to have any
+The L<TRIM|Template::Manual::Config#TRIM> option can be set to have any
 leading and trailing whitespace automatically removed from the output of all
 template files and C<BLOCK>s.
 
@@ -1084,20 +1084,20 @@
 
 =head3 EVAL_PERL
 
-The L<Template::Manual::Config#EVAL_PERL|EVAL_PERL> is used to indicate if
+The L<EVAL_PERL|Template::Manual::Config#EVAL_PERL> is used to indicate if
 C<PERL> and/or C<RAWPERL> blocks should be evaluated. It is disabled by
 default.
 
 =head3 RECURSION
 
-The L<Template::Manual::Config#RECURSION|RECURSION> can be set to 
+The L<RECURSION|Template::Manual::Config#RECURSION> can be set to 
 allow templates to recursively process themselves, either directly
 (e.g. template C<foo> calls C<INCLUDE foo>) or indirectly (e.g. 
 C<foo> calls C<INCLUDE bar> which calls C<INCLUDE foo>).
 
 =head3 LOAD_TEMPLATES
 
-The L<Template::Manual::Config#LOAD_TEMPLATES|LOAD_TEMPLATES> option can be
+The L<LOAD_TEMPLATES|Template::Manual::Config#LOAD_TEMPLATES> option can be
 used to provide a reference to a list of L<Template::Provider> objects or
 sub-classes thereof which will take responsibility for loading and compiling
 templates.
@@ -1111,7 +1111,7 @@
 
 =head3 LOAD_PLUGINS
 
-The L<Template::Manual::Config#LOAD_PLUGINS|LOAD_PLUGINS> options can be used
+The L<LOAD_PLUGINS|Template::Manual::Config#LOAD_PLUGINS> options can be used
 to specify a list of provider objects responsible for loading and
 instantiating template plugin objects.
 
@@ -1124,7 +1124,7 @@
 
 =head3 LOAD_FILTERS
 
-The L<Template::Manual::Config#LOAD_FILTERS|LOAD_FILTERS> option can be used
+The L<LOAD_FILTERS|Template::Manual::Config#LOAD_FILTERS> option can be used
 to specify a list of provider objects for returning and/or creating filter
 subroutines.
 
@@ -1137,7 +1137,7 @@
 
 =head3 STASH
 
-The L<Template::Manual::Config#STASH|STASH> option can be used to 
+The L<STASH|Template::Manual::Config#STASH> option can be used to 
 specify a L<Template::Stash> object or sub-class which will take
 responsibility for managing template variables.  
 
@@ -1148,7 +1148,7 @@
 
 =head3 DEBUG
 
-The L<Template::Manual::Config#DEBUG|DEBUG> option can be used to enable
+The L<DEBUG|Template::Manual::Config#DEBUG> option can be used to enable
 various debugging features of the L<Template::Context> module.
 
     use Template::Constants qw( :debug );
@@ -1178,9 +1178,9 @@
 Instantiates a plugin object by querying each of the L<LOAD_PLUGINS>
 providers. The default L<LOAD_PLUGINS> provider is a L<Template::Plugins>
 object which attempts to load plugin modules, according the various
-configuration items such as L<Template::Plugins#PLUGIN_BASE|PLUGIN_BASE>,
-L<Template::Plugins#LOAD_PERL|LOAD_PERL>, etc., and then instantiate an object
-via L<Template::Plugin#new()|new()>. A reference to a list of constructor
+configuration items such as L<PLUGIN_BASE|Template::Plugins#PLUGIN_BASE>,
+L<LOAD_PERL|Template::Plugins#LOAD_PERL>, etc., and then instantiate an object
+via L<new()|Template::Plugin#new()>. A reference to a list of constructor
 arguments may be passed as the second parameter. These are forwarded to the
 plugin constructor.
 
@@ -1271,12 +1271,12 @@
 
 Returns a true value (the sub-routine or L<Template::Document> reference) on
 success or undef on failure. The relevant error message can be retrieved by
-calling the L<Template::Base#error()|error()> method.
+calling the L<error()|Template::Base#error()> method.
 
 =head2 define_filter($name, \&filter, $is_dynamic)
 
 Adds a new filter definition by calling the
-L<Template::Filters#store()|store()> method on each of the L<LOAD_FILTERS>
+L<store()|Template::Filters#store()> method on each of the L<LOAD_FILTERS>
 providers until accepted (in the usual case, this is accepted straight away by
 the one and only L<Template::Filters> provider). The first argument should
 contain the name of the filter and the second a reference to a filter
@@ -1327,10 +1327,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Directive.pm
===================================================================
--- trunk/lib/Template/Directive.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Directive.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -1011,10 +1011,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Document.pm
===================================================================
--- trunk/lib/Template/Document.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Document.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -369,11 +369,11 @@
 C<Template::Document> object, passing a reference to a L<Template::Context>
 object as the first parameter. This will install any locally defined blocks
 (C<DEFBLOCKS>) in the C<BLOCKS> cache in the context (via a call to
-L<Template::Context#visit()|visit()>) so that they may be subsequently
+L<visit()|Template::Context#visit()>) so that they may be subsequently
 resolved by the context. The main C<BLOCK> subroutine is then executed,
 passing the context reference on as a parameter. The text returned from the
 template subroutine is then returned by the L<process()> method, after calling
-the context L<Template::Context#leave()|leave()> method to permit cleanup and
+the context L<leave()|Template::Context#leave()> method to permit cleanup and
 de-registration of named C<BLOCKS> previously installed.
 
 An C<AUTOLOAD> method provides access to the C<METADATA> items for the
@@ -419,7 +419,7 @@
 using C<eval()>.
 
 Returns a new C<Template::Document> object or C<undef> on error. The
-L<Template::Base#error()|error()> class method can be called, or the C<$ERROR>
+L<error()|Template::Base#error()> class method can be called, or the C<$ERROR>
 package variable inspected to retrieve the relevant error message.
 
 =head2 process($context)
@@ -427,9 +427,9 @@
 Main processing routine for the compiled template document. A reference to a
 L<Template::Context> object should be passed as the first parameter. The
 method installs any locally defined blocks via a call to the context
-L<Template::Context#visit()|visit()> method, processes its own template,
+L<visit()|Template::Context#visit()> method, processes its own template,
 (passing the context reference as a parameter) and then calls
-L<Template::Context#leave()|leave()> in the context to allow cleanup.
+L<leave()|Template::Context#leave()> in the context to allow cleanup.
 
     print $doc->process($context);
 
@@ -466,10 +466,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Exception.pm
===================================================================
--- trunk/lib/Template/Exception.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Exception.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -171,7 +171,7 @@
 
     [% THROW user.login 'no user id: please login' %]
 
-or by calling the L<Template::Context#throw()|throw()> method on the current
+or by calling the L<throw()|Template::Context#throw()> method on the current
 L<Template::Context> object,
 
     $context->throw('user.passwd', 'Incorrect Password');
@@ -206,10 +206,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/FAQ.pod
===================================================================
--- trunk/lib/Template/FAQ.pod	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/FAQ.pod	2007-05-30 10:41:24 UTC (rev 1089)
@@ -13,22 +13,12 @@
 #
 #   This module is free software; you can redistribute it and/or
 #   modify it under the same terms as Perl itself.
-#
-# REVISION
-#   2.68
-#
 #========================================================================
 
 
 #------------------------------------------------------------------------
-# IMPORTANT NOTE
-#   This documentation is generated automatically from source
-#   templates.  Any changes you make here may be lost.
-# 
-#   The 'docsrc' documentation source bundle is available for download
-#   from http://www.template-toolkit.org/docs.html and contains all
-#   the source templates, XML files, scripts, etc., from which the
-#   documentation for the Template Toolkit is built.
+# WARNING
+#   This documentation hasn't been updated in ages...
 #------------------------------------------------------------------------
 
 =head1 NAME
@@ -37,9 +27,6 @@
 
 =head1 DESCRIPTION
 
-
-
-
 =head1 Template Toolkit Language
 
 =head2 Why doesn't [% a = b IF c %] work as expected?
@@ -353,23 +340,12 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/|http://wardley.org/>
-
-
-
-
-=head1 VERSION
-
-2.68, distributed as part of the
-Template Toolkit version 2.19, released on 27 April 2007.
-
 =head1 COPYRIGHT
 
-  Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.
+Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.
 
-
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
 

Modified: trunk/lib/Template/Filters.pm
===================================================================
--- trunk/lib/Template/Filters.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Filters.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -693,9 +693,9 @@
 
 =head2 FILTERS
 
-The L<Template::Manual::Config#FILTERS|FILTERS> option can be used to specify
+The L<FILTERS|Template::Manual::Config#FILTERS> option can be used to specify
 custom filters which can then be used with the
-L<Template::Manual::Directives#FILTER|FILTER> directive like any other. These
+L<FILTER|Template::Manual::Directives#FILTER> directive like any other. These
 are added to the standard filters which are available by default.
 
     $filters = Template::Filters->new({
@@ -707,13 +707,13 @@
 
 =head2 TOLERANT
 
-The L<Template::Manual::Config#TOLERANT|TOLERANT> flag can be set to indicate
+The L<TOLERANT|Template::Manual::Config#TOLERANT> flag can be set to indicate
 that the C<Template::Filters> module should ignore any errors and instead
 return C<STATUS_DECLINED>.
 
 =head2 DEBUG
 
-The L<Template::Manual::Config#DEBUG|DEBUG> option can be used to enable
+The L<DEBUG|Template::Manual::Config#DEBUG> option can be used to enable
 debugging messages for the Template::Filters module by setting it to include
 the C<DEBUG_FILTERS> value.
 

Modified: trunk/lib/Template/Grammar.pm
===================================================================
--- trunk/lib/Template/Grammar.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Grammar.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -6222,10 +6222,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Iterator.pm
===================================================================
--- trunk/lib/Template/Iterator.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Iterator.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -380,10 +380,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Namespace/Constants.pm
===================================================================
--- trunk/lib/Template/Namespace/Constants.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Namespace/Constants.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -152,10 +152,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Parser.pm
===================================================================
--- trunk/lib/Template/Parser.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Parser.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -954,7 +954,7 @@
 The C<parse()> method parses the text passed in the first parameter and
 returns a reference to a hash array of data defining the compiled
 representation of the template text, suitable for passing to the
-L<Template::Document> L<Template::Document#new()|new()> constructor method. On
+L<Template::Document> L<new()|Template::Document#new()> constructor method. On
 error, undef is returned.
 
     $data = $parser->parse($text)
@@ -974,8 +974,8 @@
 
 =head2 START_TAG, END_TAG
 
-The L<Template::Manual::Config#START_TAG_END_TAG|START_TAG> and
-L<Template::Manual::Config#START_TAG_END_TAG|END_TAG> options are used to
+The L<START_TAG|Template::Manual::Config#START_TAG_END_TAG> and
+L<END_TAG|Template::Manual::Config#START_TAG_END_TAG> options are used to
 specify character sequences or regular expressions that mark the start and end
 of a template directive.
 
@@ -986,7 +986,7 @@
 
 =head2 TAG_STYLE
 
-The L<Template::Manual::Config#TAG_STYLE|TAG_STYLE> option can be used to set
+The L<TAG_STYLE|Template::Manual::Config#TAG_STYLE> option can be used to set
 both L<START_TAG> and L<END_TAG> according to pre-defined tag styles.
 
     my $parser = Template::Parser->new({ 
@@ -995,8 +995,8 @@
 
 =head2 PRE_CHOMP, POST_CHOMP
 
-The L<Template::Manual::Config#PRE_CHOMP_POST_CHOMP|PRE_CHOMP> and
-L<Template::Manual::Config#PRE_CHOMP_POST_CHOMP|POST_CHOMP> can be set to remove
+The L<PRE_CHOMP|Template::Manual::Config#PRE_CHOMP_POST_CHOMP> and
+L<POST_CHOMP|Template::Manual::Config#PRE_CHOMP_POST_CHOMP> can be set to remove
 any whitespace before or after a directive tag, respectively.
 
     my $parser = Template::Parser-E<gt>new({
@@ -1006,7 +1006,7 @@
 
 =head2 INTERPOLATE
 
-The L<Template::Manual::Config#INTERPOLATE|INTERPOLATE> flag can be set
+The L<INTERPOLATE|Template::Manual::Config#INTERPOLATE> flag can be set
 to allow variables to be embedded in plain text blocks.
 
     my $parser = Template::Parser->new({ 
@@ -1022,7 +1022,7 @@
 
 =head2 ANYCASE
 
-The L<Template::Manual::Config#ANYCASE|ANYCASE> option can be set
+The L<ANYCASE|Template::Manual::Config#ANYCASE> option can be set
 to allow directive keywords to be specified in any case.
 
     # with ANYCASE set to 1
@@ -1032,7 +1032,7 @@
 
 =head2 GRAMMAR
 
-The L<Template::Manual::Config#GRAMMAR|GRAMMAR> configuration item can be used
+The L<GRAMMAR|Template::Manual::Config#GRAMMAR> configuration item can be used
 to specify an alternate grammar for the parser. This allows a modified or
 entirely new template language to be constructed and used by the Template
 Toolkit.
@@ -1048,7 +1048,7 @@
 
 =head2 DEBUG
 
-The L<Template::Manual::Config#DEBUG|DEBUG> option can be used to enable
+The L<DEBUG|Template::Manual::Config#DEBUG> option can be used to enable
 various debugging features of the C<Template::Parser> module.
 
     use Template::Constants qw( :debug );

Modified: trunk/lib/Template/Plugin/CGI.pm
===================================================================
--- trunk/lib/Template/Plugin/CGI.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/CGI.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -111,10 +111,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/Datafile.pm
===================================================================
--- trunk/lib/Template/Plugin/Datafile.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Datafile.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -142,10 +142,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/Directory.pm
===================================================================
--- trunk/lib/Template/Plugin/Directory.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Directory.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -367,8 +367,8 @@
 =head1 AUTHORS
 
 Michael Stevens wrote the original Directory plugin on which this is based.
-Andy Wardley split it into separate L<Template::Plugin::File|File> and
-L<Template::Plugin::Directory|Directory> plugins, added some extra code and
+Andy Wardley split it into separate L<File|Template::Plugin::File> and
+L<Directory|Template::Plugin::Directory> plugins, added some extra code and
 documentation for C<VIEW> support, and made a few other minor tweaks.
 
 =head1 COPYRIGHT

Modified: trunk/lib/Template/Plugin/Filter.pm
===================================================================
--- trunk/lib/Template/Plugin/Filter.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Filter.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -376,10 +376,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/Format.pm
===================================================================
--- trunk/lib/Template/Plugin/Format.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Format.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -69,10 +69,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/HTML.pm
===================================================================
--- trunk/lib/Template/Plugin/HTML.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/HTML.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -139,10 +139,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/Image.pm
===================================================================
--- trunk/lib/Template/Plugin/Image.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Image.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -269,7 +269,7 @@
     size: [% image.size.join(', ') %]
 
 The C<modtime> method returns the modification time of the file in question,
-suitable for use with the L<Template::Plugin::Date|Date> plugin, for example:
+suitable for use with the L<Date|Template::Plugin::Date> plugin, for example:
 
     [% USE image 'foo.gif' %]
     [% USE date %]
@@ -412,10 +412,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/Iterator.pm
===================================================================
--- trunk/lib/Template/Plugin/Iterator.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Iterator.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -64,10 +64,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/Math.pm
===================================================================
--- trunk/lib/Template/Plugin/Math.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Math.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -218,10 +218,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/Pod.pm
===================================================================
--- trunk/lib/Template/Plugin/Pod.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Pod.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -63,10 +63,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/Procedural.pm
===================================================================
--- trunk/lib/Template/Plugin/Procedural.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Procedural.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -109,10 +109,8 @@
 
 =head1 AUTHOR
 
-Mark Fowler E<lt>mark@twoshortplanks.comE<gt>
+Mark Fowler E<lt>mark@twoshortplanks.comE<gt> L<http://www.twoshortplanks.com>
 
-L<http://www.twoshortplanks.com>
-
 =head1 COPYRIGHT
 
 Copyright (C) 2002 Mark Fowler E<lt>mark@twoshortplanks.comE<gt>

Modified: trunk/lib/Template/Plugin/String.pm
===================================================================
--- trunk/lib/Template/Plugin/String.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/String.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -737,10 +737,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/Table.pm
===================================================================
--- trunk/lib/Template/Plugin/Table.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Table.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -397,7 +397,7 @@
 
 In addition to a list reference, the C<Table> plugin constructor may be passed
 a reference to a L<Template::Iterator> object or subclass thereof. The
-L<Template::Iterator> L<Template::Iterator#get_all()|get_all()> method is
+L<Template::Iterator> L<get_all()|Template::Iterator#get_all()> method is
 first called on the iterator to return all remaining items. These are then
 available via the usual Table interface.
 
@@ -416,10 +416,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/URL.pm
===================================================================
--- trunk/lib/Template/Plugin/URL.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/URL.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -179,10 +179,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/View.pm
===================================================================
--- trunk/lib/Template/Plugin/View.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/View.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -73,10 +73,8 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
-L<http://wardley.org/>
-
 =head1 COPYRIGHT
 
 Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

Modified: trunk/lib/Template/Plugin/Wrap.pm
===================================================================
--- trunk/lib/Template/Plugin/Wrap.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin/Wrap.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -124,7 +124,7 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@wardley.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
 The L<Text::Wrap> module was written by David Muir Sharnoff
 with help from Tim Pierce and many others.

Modified: trunk/lib/Template/Plugin.pm
===================================================================
--- trunk/lib/Template/Plugin.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugin.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -186,7 +186,7 @@
 
     package MyOrg::Template::Plugin::FooBar;
 
-Use the L<Template::Manual::Config#PLUGIN_BASE|PLUGIN_BASE> option to specify
+Use the L<PLUGIN_BASE|Template::Manual::Config#PLUGIN_BASE> option to specify
 the namespace that you use. e.g.
 
     use Template;

Modified: trunk/lib/Template/Plugins.pm
===================================================================
--- trunk/lib/Template/Plugins.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Plugins.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -350,9 +350,9 @@
 
 Called to request that a plugin of a given name be provided. The relevant
 module is first loaded (if necessary) and the
-L<Template::Plugin#load()|load()> class method called to return the factory
+L<load()|Template::Plugin#load()> class method called to return the factory
 class name (usually the same package name) or a factory object (a prototype).
-The L<Template::Plugin#new()|new()> method is then called as a class or object
+The L<new()|Template::Plugin#new()> method is then called as a class or object
 method against the factory, passing all remaining parameters.
 
 Returns a reference to a new plugin object or C<($error, STATUS_ERROR)>
@@ -369,7 +369,7 @@
 
 =head2 PLUGINS
 
-The L<Template::Manual::Config#PLUGINS|PLUGINS> option can be used to provide
+The L<PLUGINS|Template::Manual::Config#PLUGINS> option can be used to provide
 a reference to a hash array that maps plugin names to Perl module names.
 
     my $plugins = Template::Plugins->new({
@@ -382,8 +382,8 @@
 
 =head2 PLUGIN_BASE
 
-If a plugin is not defined in the L<Template::Manual::Config#PLUGINS|PLUGINS>
-hash then the L<Template::Manual::Config#PLUGIN_BASE|PLUGIN_BASE> is used to
+If a plugin is not defined in the L<PLUGINS|Template::Manual::Config#PLUGINS>
+hash then the L<PLUGIN_BASE|Template::Manual::Config#PLUGIN_BASE> is used to
 attempt to construct a correct Perl module name which can be successfully
 loaded.
 
@@ -400,30 +400,30 @@
     
 =head2 LOAD_PERL
 
-The L<Template::Manual::Config#LOAD_PERL|LOAD_PERL> option can be set to allow
+The L<LOAD_PERL|Template::Manual::Config#LOAD_PERL> option can be set to allow
 you to load regular Perl modules (i.e. those that don't reside in the
 C<Template::Plugin> or another user-defined namespace) as plugins.
 
 If a plugin cannot be loaded using the
-L<Template::Manual::Config#PLUGINS|PLUGINS> or
-L<Template::Manual::Config#PLUGIN_BASE|PLUGIN_BASE> approaches then,
-if the L<Template::Manual::Config#LOAD_PERL|LOAD_PERL> is set, the
+L<PLUGINS|Template::Manual::Config#PLUGINS> or
+L<PLUGIN_BASE|Template::Manual::Config#PLUGIN_BASE> approaches then,
+if the L<LOAD_PERL|Template::Manual::Config#LOAD_PERL> is set, the
 provider will make a final attempt to load the module without prepending any
 prefix to the module path. 
 
-Unlike regular plugins, modules loaded using L<Template::Manual::Config#LOAD_PERL|LOAD_PERL>
+Unlike regular plugins, modules loaded using L<LOAD_PERL|Template::Manual::Config#LOAD_PERL>
 do not receive a L<Template::Context> reference as the first argument to the 
 C<new()> constructor method.
 
 =head2 TOLERANT
 
-The L<Template::Manual::Config#TOLERANT|TOLERANT> flag can be set to indicate
+The L<TOLERANT|Template::Manual::Config#TOLERANT> flag can be set to indicate
 that the C<Template::Plugins> module should ignore any errors encountered while
 loading a plugin and instead return C<STATUS_DECLINED>.
 
 =head2 DEBUG
 
-The L<Template::Manual::Config#DEBUG|DEBUG> option can be used to enable
+The L<DEBUG|Template::Manual::Config#DEBUG> option can be used to enable
 debugging messages for the C<Template::Plugins> module by setting it to
 include the C<DEBUG_PLUGINS> value.
 

Modified: trunk/lib/Template/Provider.pm
===================================================================
--- trunk/lib/Template/Provider.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Provider.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -1132,7 +1132,7 @@
 for loading, or otherwise providing access to templates.
 
 The L<Template::Context> objects maintain a list of L<Template::Provider>
-objects which are polled in turn (via L<Template::Context#fetch()|fetch()>) to
+objects which are polled in turn (via L<fetch()|Template::Context#fetch()>) to
 return a requested template. Each may return a compiled template, raise an
 error, or decline to serve the request, giving subsequent providers a chance
 to do so.
@@ -1195,7 +1195,7 @@
 
 =head2 INCLUDE_PATH
 
-The L<Template::Manual::Config#INCLUDE_PATH|INCLUDE_PATH> option is used to
+The L<INCLUDE_PATH|Template::Manual::Config#INCLUDE_PATH> option is used to
 specify one or more directories in which template files are located.
 
     # single path
@@ -1211,7 +1211,7 @@
 
 =head2 ABSOLUTE
 
-The L<Template::Manual::Config#ABSOLUTE|ABSOLUTE> flag is used to indicate if
+The L<ABSOLUTE|Template::Manual::Config#ABSOLUTE> flag is used to indicate if
 templates specified with absolute filenames (e.g. 'C</foo/bar>') should be
 processed. It is disabled by default and any attempt to load a template by
 such a name will cause a 'C<file>' exception to be raised.
@@ -1222,7 +1222,7 @@
 
 =head2 RELATIVE
 
-The L<Template::Manual::Config#RELATIVE|RELATIVE> flag is used to indicate if
+The L<RELATIVE|Template::Manual::Config#RELATIVE> flag is used to indicate if
 templates specified with filenames relative to the current directory (e.g.
 C<./foo/bar> or C<../../some/where/else>) should be loaded. It is also disabled
 by default, and will raise a C<file> error if such template names are
@@ -1234,7 +1234,7 @@
 
 =head2 DEFAULT
 
-The L<Template::Manual::Config#DEFAULT|DEFAULT> option can be used to specify
+The L<DEFAULT|Template::Manual::Config#DEFAULT> option can be used to specify
 a default template which should be used whenever a specified template can't be
 found in the L<INCLUDE_PATH>.
 
@@ -1243,7 +1243,7 @@
     });
 
 If a non-existant template is requested through the L<Template>
-L<Template#process()|process()> method, or by an C<INCLUDE>, C<PROCESS> or
+L<process()|Template#process()> method, or by an C<INCLUDE>, C<PROCESS> or
 C<WRAPPER> directive, then the C<DEFAULT> template will instead be processed, if
 defined. Note that the C<DEFAULT> template is not used when templates are
 specified with absolute or relative filenames, or as a reference to a input
@@ -1251,9 +1251,9 @@
 
 =head2 CACHE_SIZE
 
-The L<Template::Manual::Config#CACHE_SIZE|CACHE_SIZE> option can be used to
+The L<CACHE_SIZE|Template::Manual::Config#CACHE_SIZE> option can be used to
 limit the number of compiled templates that the module should cache. By
-default, the L<Template::Manual::Config#CACHE_SIZE|CACHE_SIZE> is undefined
+default, the L<CACHE_SIZE|Template::Manual::Config#CACHE_SIZE> is undefined
 and all compiled templates are cached.
 
     my $provider = Template::Provider->new({
@@ -1263,7 +1263,7 @@
 
 =head2 STAT_TTL
 
-The L<Template::Manual::Config#STAT_TTL|STAT_TTL> value can be set to control
+The L<STAT_TTL|Template::Manual::Config#STAT_TTL> value can be set to control
 how long the C<Template::Provider> will keep a template cached in memory
 before checking to see if the source template has changed.
 
@@ -1273,7 +1273,7 @@
 
 =head2 COMPILE_EXT
 
-The L<Template::Manual::Config#COMPILE_EXT|COMPILE_EXT> option can be
+The L<COMPILE_EXT|Template::Manual::Config#COMPILE_EXT> option can be
 provided to specify a filename extension for compiled template files.
 It is undefined by default and no attempt will be made to read or write 
 any compiled template files.
@@ -1284,7 +1284,7 @@
 
 =head2 COMPILE_DIR
 
-The L<Template::Manual::Config#COMPILE_DIR|COMPILE_DIR> option is used to
+The L<COMPILE_DIR|Template::Manual::Config#COMPILE_DIR> option is used to
 specify an alternate directory root under which compiled template files should
 be saved.
 
@@ -1294,13 +1294,13 @@
 
 =head2 TOLERANT
 
-The L<Template::Manual::Config#TOLERANT|TOLERANT> flag can be set to indicate
+The L<TOLERANT|Template::Manual::Config#TOLERANT> flag can be set to indicate
 that the C<Template::Provider> module should ignore any errors encountered while
 loading a template and instead return C<STATUS_DECLINED>.
 
 =head2 PARSER
 
-The L<Template::Manual::Config#PARSER|PARSER> option can be used to define
+The L<PARSER|Template::Manual::Config#PARSER> option can be used to define
 a parser module other than the default of L<Template::Parser>.
 
     my $provider = Template::Provider->new({
@@ -1309,7 +1309,7 @@
 
 =head2 DEBUG
 
-The L<Template::Manual::Config#DEBUG|DEBUG> option can be used to enable
+The L<DEBUG|Template::Manual::Config#DEBUG> option can be used to enable
 debugging messages from the L<Template::Provider> module by setting it to include
 the C<DEBUG_PROVIDER> value.
 

Modified: trunk/lib/Template/Service.pm
===================================================================
--- trunk/lib/Template/Service.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Service.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -306,8 +306,8 @@
 The C<Template::Service> module implements an object class for providing
 a consistent template processing service. 
 
-Standard header (L<PRE_PROCESS_POST_PROCESS|PRE_PROCESS>) and footer
-(L<PRE_PROCESS_POST_PROCESS|POST_PROCESS>) templates may be specified which
+Standard header (L<PRE_PROCESS|PRE_PROCESS_POST_PROCESS>) and footer
+(L<POST_PROCESS|PRE_PROCESS_POST_PROCESS>) templates may be specified which
 are prepended and appended to all templates processed by the service (but not
 any other templates or blocks C<INCLUDE>d or C<PROCESS>ed from within). An
 L<ERROR> hash may be specified which redirects the service to an alternate
@@ -317,7 +317,7 @@
 
 A default C<Template::Service> object is created by the L<Template> module.
 Any C<Template::Service> options may be passed to the L<Template>
-L<Template#new()|new()> constructor method and will be forwarded to the
+L<new()|Template#new()> constructor method and will be forwarded to the
 L<Template::Service> constructor.
 
     use Template;
@@ -332,7 +332,7 @@
 need to instantiate.
 
 A C<Template::Service> object (or subclass) can be explicitly instantiated and
-passed to the L<Template> L<Template#new()|new()> constructor method as the
+passed to the L<Template> L<new()|Template#new()> constructor method as the
 L<SERVICE> item.
 
     use Template;
@@ -364,11 +364,11 @@
     });
 
 The L<Template> module uses the L<Template::Config>
-L<Template::Config#service()|service()> factory method to create a default
+L<service()|Template::Config#service()> factory method to create a default
 service object when required. The C<$Template::Config::SERVICE> package
 variable may be set to specify an alternate service module. This will be
 loaded automatically and its L<new()> constructor method called by the
-L<Template::Config#service()|service()> factory method when a default service
+L<service()|Template::Config#service()> factory method when a default service
 object is required. Thus the previous example could be written as:
 
     use Template;
@@ -398,7 +398,7 @@
 
 The C<new()> method returns a C<Template::Service> object or C<undef> on
 error. In the latter case, a relevant error message can be retrieved by the
-L<Template::Base#error()|error()> class method or directly from the
+L<error()|Template::Base#error()> class method or directly from the
 C<$Template::Service::ERROR> package variable.
 
     my $service = Template::Service->new(\%config)
@@ -416,15 +416,15 @@
 definitions.
 
 The method processes the template, adding any
-L<PRE_PROCESS_POST_PROCESS|PRE_PROCESS> or
-L<PRE_PROCESS_POST_PROCESS|POST_PROCESS> templates defined, and returns the
+L<PRE_PROCESS|PRE_PROCESS_POST_PROCESS> or
+L<POST_PROCESS|PRE_PROCESS_POST_PROCESS> templates defined, and returns the
 output text. An uncaught exception thrown by the template will be handled by a
 relevant L<ERROR> handler if defined. Errors that occur in the
-L<PRE_PROCESS_POST_PROCESS|PRE_PROCESS> or
-L<PRE_PROCESS_POST_PROCESS|POST_PROCESS> templates, or those that occur in the
+L<PRE_PROCESS|PRE_PROCESS_POST_PROCESS> or
+L<POST_PROCESS|PRE_PROCESS_POST_PROCESS> templates, or those that occur in the
 main input template and aren't handled, cause the method to return C<undef> to
 indicate failure. The appropriate error message can be retrieved via the
-L<Template::Base#error()|error()> method.
+L<error()|Template::Base#error()> method.
 
     $service->process('myfile.html', { title => 'My Test File' })
         || die $service->error();
@@ -443,8 +443,8 @@
 
 =head2 PRE_PROCESS, POST_PROCESS
 
-The L<Template::Manual::Config#PRE_PROCESS_POST_PROCESS|PRE_PROCESS> and
-L<Template::Manual::Config#PRE_PROCESS_POST_PROCESS|POST_PROCESS> options may
+The L<PRE_PROCESS|Template::Manual::Config#PRE_PROCESS_POST_PROCESS> and
+L<POST_PROCESS|Template::Manual::Config#PRE_PROCESS_POST_PROCESS> options may
 be set to contain the name(s) of template files which should be processed
 immediately before and/or after each template. These do not get added to
 templates processed into a document via directives such as C<INCLUDE>
@@ -465,12 +465,12 @@
 
 =head2 PROCESS
 
-The L<Template::Manual::Config#PROCESS|PROCESS> option may be set to contain
+The L<PROCESS|Template::Manual::Config#PROCESS> option may be set to contain
 the name(s) of template files which should be processed instead of the main
 template passed to the C<Template::Service> L<process()> method. This can be used to
 apply consistent wrappers around all templates, similar to the use of
-L<PRE_PROCESS_POST_PROCESS|PRE_PROCESS> and 
-L<PRE_PROCESS_POST_PROCESS|POST_PROCESS> templates.
+L<PRE_PROCESS|PRE_PROCESS_POST_PROCESS> and 
+L<POST_PROCESS|PRE_PROCESS_POST_PROCESS> templates.
 
     my $service = Template::Service->new({
         PROCESS  => 'content',
@@ -497,7 +497,7 @@
 
 =head2 ERROR
 
-The L<Template::Manual::Config#ERROR|ERROR> (or C<ERRORS> if you prefer)
+The L<ERROR|Template::Manual::Config#ERROR> (or C<ERRORS> if you prefer)
 configuration item can be used to name a single template or specify a hash
 array mapping exception types to templates which should be used for error
 handling. If an uncaught exception is raised from within a template then the
@@ -510,7 +510,7 @@
         ERROR => 'error.html'
     });
 
-If the L<Template::Manual::Config#ERROR|ERROR/ERRORS> item is a hash reference
+If the L<ERROR/ERRORS|Template::Manual::Config#ERROR> item is a hash reference
 the keys are assumed to be exception types and the relevant template for a
 given exception will be selected. A C<default> template may be provided for
 the general case.
@@ -525,15 +525,15 @@
 
 =head2 AUTO_RESET
 
-The L<Template::Manual::Config#AUTO_RESET|AUTO_RESET> option is set by default
+The L<AUTO_RESET|Template::Manual::Config#AUTO_RESET> option is set by default
 and causes the local C<BLOCKS> cache for the L<Template::Context> object to be
-reset on each call to the L<Template> L<Template#process()|process()> method.
+reset on each call to the L<Template> L<process()|Template#process()> method.
 This ensures that any C<BLOCK>s defined within a template will only persist until
 that template is finished processing. 
 
 =head2 DEBUG
 
-The L<Template::Manual::Config#DEBUG|DEBUG> option can be used to enable
+The L<DEBUG|Template::Manual::Config#DEBUG> option can be used to enable
 debugging messages from the C<Template::Service> module by setting it to include
 the C<DEBUG_SERVICE> value.
 

Modified: trunk/lib/Template/Test.pm
===================================================================
--- trunk/lib/Template/Test.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/Test.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -497,7 +497,7 @@
 
 The third parameter may be used to reference a hash array of template
 variable which should be defined when processing the tests.  This is
-passed to the L<Template> L<Template#process()|process()> method.
+passed to the L<Template> L<process()|Template#process()> method.
 
     my $replace = {
         a => 'alpha',

Modified: trunk/lib/Template/VMethods.pm
===================================================================
--- trunk/lib/Template/VMethods.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/VMethods.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -535,6 +535,34 @@
 
 __END__
 
+=head1 NAME
+
+Template::VMethods - Virtual methods for variables
+
+=head1 DESCRIPTION
+
+The C<Template::VMethods> module implements the virtual methods
+that can be applied to variables.
+
+Please see L<Template::Manual::VMethods> for further information.
+
+=head1 AUTHOR
+
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
+
+=head1 COPYRIGHT
+
+Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+L<Template::Stash>, L<Template::Manual::VMethods>
+
+=cut
+
 # Local Variables:
 # mode: perl
 # perl-indent-level: 4

Modified: trunk/lib/Template/View.pm
===================================================================
--- trunk/lib/Template/View.pm	2007-05-30 10:40:25 UTC (rev 1088)
+++ trunk/lib/Template/View.pm	2007-05-30 10:41:24 UTC (rev 1089)
@@ -21,9 +21,6 @@
 #    work-around is to do [% view.print(hash1); view.print(hash2); 
 #    view.print(hash3) %] or [% view.print(hash1, hash2, hash3, { }) %]
 #
-# REVISION
-#   $Id$
-#
 #============================================================================
 
 package Template::View;
@@ -64,8 +61,8 @@
     my $map = $config->{ map } || { };
     $map->{ default } = $config->{ default } unless defined $map->{ default };
     $self->{ map } = {
-	%$MAP,
-	%$map,
+        %$MAP,
+        %$map,
     };
 
     # local BLOCKs definition table
@@ -73,7 +70,7 @@
     
     # name of presentation method which printed objects might provide
     $self->{ method } = defined $config->{ method } 
-	                      ? $config->{ method } : 'present';
+                              ? $config->{ method } : 'present';
     
     # view is sealed by default preventing variable update after 
     # definition, however we don't actually seal a view until the 
@@ -84,7 +81,7 @@
 
     # copy remaining config items from $config or set defaults
     foreach my $arg (qw( base prefix suffix notfound silent )) {
-	$self->{ $arg } = $config->{ $arg } || '';
+        $self->{ $arg } = $config->{ $arg } || '';
     }
 
     # name of data item used by view()
@@ -94,7 +91,7 @@
     $self->{ include_prefix } = $config->{ include_prefix } || 'include_';
     # what about mapping foobar() to include('foobar')?
     $self->{ include_naked  } = defined $config->{ include_naked } 
-			              ? $config->{ include_naked } : 1;
+                                      ? $config->{ include_naked } : 1;
 
     # map methods of form ${view_prefix}_foobar() to include('foobar')?
     $self->{ view_prefix } = $config->{ view_prefix } || 'view_';
@@ -105,10 +102,10 @@
     # view template to create data items via the AUTOLOAD; once sealed via
     # call to seal(), the AUTOLOAD will not update any internal items.
     delete @$config{ qw( base method map default prefix suffix notfound item 
-			 include_prefix include_naked silent sealed
-			 view_prefix view_naked blocks ) };
+                         include_prefix include_naked silent sealed
+                         view_prefix view_naked blocks ) };
     $config = { %{ $self->{ base }->{ data } }, %$config }
-	if $self->{ base };
+        if $self->{ base };
     $self->{ data   } = $config;
     $self->{ SEALED } = 0;
 
@@ -153,8 +150,8 @@
 
     # merge maps
     $clone->{ map } = {
-	%{ $self->{ map } },
-	%{ $config->{ map } || { } },
+        %{ $self->{ map } },
+        %{ $config->{ map } || { } },
     };
 
     # "map => { default=>'xxx' }" can be specified as "default => 'xxx'"
@@ -163,9 +160,9 @@
 
     # update any remaining config items
     my @args = qw( base prefix suffix notfound item method include_prefix 
-		   include_naked view_prefix view_naked );
+                   include_naked view_prefix view_naked );
     foreach my $arg (@args) {
-	$clone->{ $arg } = $config->{ $arg } if defined $config->{ $arg };
+        $clone->{ $arg } = $config->{ $arg } if defined $config->{ $arg };
     }
     push(@args, qw( default map ));
     delete @$config{ @args };
@@ -224,12 +221,12 @@
             # no specific map entry for object, maybe it implements a 
             # 'present' (or other) method?
             if ( $method && UNIVERSAL::can($item, $method) ) {
-                $present = $item->$method($self);	## call item method
+                $present = $item->$method($self);       ## call item method
                 # undef returned indicates error, note that we expect 
                 # $item to have called error() on the view
                 return unless defined $present;
                 $output .= $present;
-                next;					## NEXT
+                next;                                   ## NEXT
             }   
             elsif ( UNIVERSAL::isa($item, 'HASH' ) 
                     && defined($newtype = $item->{$method})
@@ -244,9 +241,9 @@
                 ($template = $type) =~ s/\W+/_/g;
             }
         }
-#	else {
-#	    $self->DEBUG("defined map type for $type: $template\n");
-#	}
+#       else {
+#           $self->DEBUG("defined map type for $type: $template\n");
+#       }
         $self->DEBUG("printing view '", $template || '', "', $item\n") if $DEBUG;
         $output .= $self->view($template, $item)
             if $template;
@@ -316,15 +313,15 @@
     my ($self, $name) = @_;
     my $context = $self->{ _CONTEXT };
     return $context->throw(Template::Constants::ERROR_VIEW,
-			   "no view template specified")
-	unless $name;
+                           "no view template specified")
+        unless $name;
 
     my $notfound = $self->{ notfound };
     my $base = $self->{ base };
     my ($template, $block, $error);
 
     return $block
-	if ($block = $self->{ _BLOCKS }->{ $name });
+        if ($block = $self->{ _BLOCKS }->{ $name });
     
     # try the named template
     $template = $self->template_name($name);
@@ -333,25 +330,25 @@
 
     # try asking the base view if not found
     if (($error = $@) && $base) {
-	$self->DEBUG("asking base for $name\n") if $DEBUG;
-	eval { $template = $base->template($name) };
+        $self->DEBUG("asking base for $name\n") if $DEBUG;
+        eval { $template = $base->template($name) };
     }
 
     # try the 'notfound' template (if defined) if that failed
     if (($error = $@) && $notfound) {
-	unless ($template = $self->{ _BLOCKS }->{ $notfound }) {
-	    $notfound = $self->template_name($notfound);
-	    $self->DEBUG("not found, looking for $notfound\n") if $DEBUG;
-	    eval { $template = $context->template($notfound) };
+        unless ($template = $self->{ _BLOCKS }->{ $notfound }) {
+            $notfound = $self->template_name($notfound);
+            $self->DEBUG("not found, looking for $notfound\n") if $DEBUG;
+            eval { $template = $context->template($notfound) };
 
-	    return $context->throw(Template::Constants::ERROR_VIEW, $error)
-		if $@;	# return first error
-	}
+            return $context->throw(Template::Constants::ERROR_VIEW, $error)
+                if $@;  # return first error
+        }
     }
     elsif ($error) {
-	$self->DEBUG("no 'notfound'\n") 
-	    if $DEBUG;
-	return $context->throw(Template::Constants::ERROR_VIEW, $error);
+        $self->DEBUG("no 'notfound'\n") 
+            if $DEBUG;
+        return $context->throw(Template::Constants::ERROR_VIEW, $error);
     }
     return $template;
 }
@@ -367,7 +364,7 @@
 sub template_name {
     my ($self, $template) = @_;
     $template = $self->{ prefix } . $template . $self->{ suffix }
-	if $template;
+        if $template;
 
     $self->DEBUG("template name: $template\n") if $DEBUG;
     return $template;
@@ -384,7 +381,7 @@
 sub default {
     my $self = shift;
     return @_ ? ($self->{ map }->{ default } = shift) 
-	      :  $self->{ map }->{ default };
+              :  $self->{ map }->{ default };
 }
 
 
@@ -411,55 +408,55 @@
     return if $item eq 'DESTROY';
 
     if ($item =~ /^[\._]/) {
-	return $self->{ _CONTEXT }->throw(Template::Constants::ERROR_VIEW,
-			    "attempt to view private member: $item");
+        return $self->{ _CONTEXT }->throw(Template::Constants::ERROR_VIEW,
+                            "attempt to view private member: $item");
     }
     elsif (exists $self->{ $item }) {
-	# update existing config item (e.g. 'prefix') if unsealed
-	return $self->{ _CONTEXT }->throw(Template::Constants::ERROR_VIEW,
-			    "cannot update config item in sealed view: $item")
-	    if @_ && $self->{ SEALED };
-	$self->DEBUG("accessing item: $item\n") if $DEBUG;
-	return @_ ? ($self->{ $item } = shift) : $self->{ $item };
+        # update existing config item (e.g. 'prefix') if unsealed
+        return $self->{ _CONTEXT }->throw(Template::Constants::ERROR_VIEW,
+                            "cannot update config item in sealed view: $item")
+            if @_ && $self->{ SEALED };
+        $self->DEBUG("accessing item: $item\n") if $DEBUG;
+        return @_ ? ($self->{ $item } = shift) : $self->{ $item };
     }
     elsif (exists $self->{ data }->{ $item }) {
-	# get/update existing data item (must be unsealed to update)
-	if (@_ && $self->{ SEALED }) {
-	    return $self->{ _CONTEXT }->throw(Template::Constants::ERROR_VIEW,
-				  "cannot update item in sealed view: $item")
-		unless $self->{ silent };
-	    # ignore args if silent
-	    @_ = ();
-	}
-	$self->DEBUG(@_ ? "updating data item: $item <= $_[0]\n" 
-		        : "returning data item: $item\n") if $DEBUG;
-	return @_ ? ($self->{ data }->{ $item } = shift) 
-		  :  $self->{ data }->{ $item };
+        # get/update existing data item (must be unsealed to update)
+        if (@_ && $self->{ SEALED }) {
+            return $self->{ _CONTEXT }->throw(Template::Constants::ERROR_VIEW,
+                                  "cannot update item in sealed view: $item")
+                unless $self->{ silent };
+            # ignore args if silent
+            @_ = ();
+        }
+        $self->DEBUG(@_ ? "updating data item: $item <= $_[0]\n" 
+                        : "returning data item: $item\n") if $DEBUG;
+        return @_ ? ($self->{ data }->{ $item } = shift) 
+                  :  $self->{ data }->{ $item };
     }
     elsif (@_ && ! $self->{ SEALED }) {
-	# set data item if unsealed
-	$self->DEBUG("setting unsealed data: $item => @_\n") if $DEBUG;
-	$self->{ data }->{ $item } = shift;
+        # set data item if unsealed
+        $self->DEBUG("setting unsealed data: $item => @_\n") if $DEBUG;
+        $self->{ data }->{ $item } = shift;
     }
     elsif ($item =~ s/^$self->{ view_prefix }//) {
-	$self->DEBUG("returning view($item)\n") if $DEBUG;
-	return $self->view($item, @_);
+        $self->DEBUG("returning view($item)\n") if $DEBUG;
+        return $self->view($item, @_);
     }
     elsif ($item =~ s/^$self->{ include_prefix }//) {
-	$self->DEBUG("returning include($item)\n") if $DEBUG;
-	return $self->include($item, @_);
+        $self->DEBUG("returning include($item)\n") if $DEBUG;
+        return $self->include($item, @_);
     }
     elsif ($self->{ include_naked }) {
-	$self->DEBUG("returning naked include($item)\n") if $DEBUG;
-	return $self->include($item, @_);
+        $self->DEBUG("returning naked include($item)\n") if $DEBUG;
+        return $self->include($item, @_);
     }
     elsif ($self->{ view_naked }) {
-	$self->DEBUG("returning naked view($item)\n") if $DEBUG;
-	return $self->view($item, @_);
+        $self->DEBUG("returning naked view($item)\n") if $DEBUG;
+        return $self->view($item, @_);
     }
     else {
-	return $self->{ _CONTEXT }->throw(Template::Constants::ERROR_VIEW,
-					 "no such view member: $item");
+        return $self->{ _CONTEXT }->throw(Template::Constants::ERROR_VIEW,
+                                         "no such view member: $item");
     }
 }
 
@@ -479,8 +476,8 @@
     [% VIEW view
             # some standard args
             prefix        => 'my_', 
-	    suffix        => '.tt2',
-	    notfound      => 'no_such_file'
+            suffix        => '.tt2',
+            notfound      => 'no_such_file'
             ...
 
             # any other data
@@ -508,7 +505,7 @@
     [% view.header(title => 'New Title') %]
 
     # non-local templates have prefix/suffix attached
-    [% view.footer %]		# => [% INCLUDE my_footer.tt2 %]
+    [% view.footer %]           # => [% INCLUDE my_footer.tt2 %]
 
     # more verbose form of block access
     [% view.include( 'header', title => 'The Header Title' ) %]
@@ -518,7 +515,7 @@
     [% view.header( title => 'The Header Title' ) %]
 
     # non-local templates have prefix/suffix attached
-    [% view.footer %]		# => [% INCLUDE my_footer.tt2 %]
+    [% view.footer %]           # => [% INCLUDE my_footer.tt2 %]
 
     # fallback on the 'notfound' template ('my_no_such_file.tt2')
     # if template not found 
@@ -529,21 +526,21 @@
     # print() includes a template relevant to argument type
     [% view.print("some text") %]     # type=TEXT, template='text'
 
-    [% BLOCK my_text.tt2 %]	      # 'text' with prefix/suffix
+    [% BLOCK my_text.tt2 %]           # 'text' with prefix/suffix
        Text: [% item %]
     [% END %]
 
     # now print() a hash ref, mapped to 'hash' template
     [% view.print(some_hash_ref) %]   # type=HASH, template='hash'
 
-    [% BLOCK my_hash.tt2 %]	      # 'hash' with prefix/suffix
+    [% BLOCK my_hash.tt2 %]           # 'hash' with prefix/suffix
        hash keys: [% item.keys.sort.join(', ')
     [% END %]
 
     # now print() a list ref, mapped to 'list' template
     [% view.print(my_list_ref) %]     # type=ARRAY, template='list'
 
-    [% BLOCK my_list.tt2 %]	      # 'list' with prefix/suffix
+    [% BLOCK my_list.tt2 %]           # 'list' with prefix/suffix
        list: [% item.join(', ') %]
     [% END %]
 
@@ -585,14 +582,14 @@
 Prefix added to all template names.
 
     [% USE view(prefix => 'my_') %]
-    [% view.view('foo', a => 20) %]	# => my_foo
+    [% view.view('foo', a => 20) %]     # => my_foo
 
 =item suffix
 
 Suffix added to all template names.
 
     [% USE view(suffix => '.tt2') %]
-    [% view.view('foo', a => 20) %]	# => foo.tt2
+    [% view.view('foo', a => 20) %]     # => foo.tt2
 
 =item map 
 
@@ -602,13 +599,13 @@
 'hash' and 'list' appropriately.
 
     [% USE view(map => { ARRAY   => 'my_list', 
-			 HASH    => 'your_hash',
-		         My::Foo => 'my_foo', } ) %]
+                         HASH    => 'your_hash',
+                         My::Foo => 'my_foo', } ) %]
 
-    [% view.print(some_text) %]		# => text
-    [% view.print(a_list) %]		# => my_list
-    [% view.print(a_hash) %]		# => your_hash
-    [% view.print(a_foo) %]		# => my_foo
+    [% view.print(some_text) %]         # => text
+    [% view.print(a_list) %]            # => my_list
+    [% view.print(a_hash) %]            # => your_hash
+    [% view.print(a_foo) %]             # => my_foo
 
     [% BLOCK text %]
        Text: [% item %]
@@ -637,22 +634,22 @@
     package Foo;
 
     sub present {
-	my ($self, $view) = @_;
-	return "a regular view of a Foo\n";
+        my ($self, $view) = @_;
+        return "a regular view of a Foo\n";
     }
 
     sub debug {
-	my ($self, $view) = @_;
-	return "a debug view of a Foo\n";
+        my ($self, $view) = @_;
+        return "a debug view of a Foo\n";
     }
 
 In a template:
 
     [% USE view %]
-    [% view.print(my_foo_object) %]	# a regular view of a Foo
+    [% view.print(my_foo_object) %]     # a regular view of a Foo
 
     [% USE view(method => 'debug') %]
-    [% view.print(my_foo_object) %]	# a debug view of a Foo
+    [% view.print(my_foo_object) %]     # a debug view of a Foo
 
 =item default
 
@@ -660,14 +657,14 @@
 
     [% USE view(default => 'my_object') %]
 
-    [% view.print(objref) %]		# => my_object
+    [% view.print(objref) %]            # => my_object
 
 If no map entry or default is provided then the view will attempt to 
 construct a template name from the object class, substituting any 
 sequence of non-word characters to single underscores, e.g.
 
     # 'fubar' is an object of class Foo::Bar
-    [% view.print(fubar) %]		# => Foo_Bar
+    [% view.print(fubar) %]             # => Foo_Bar
 
 Any current prefix and suffix will be added to both the default template 
 name and any name constructed from the object class.
@@ -699,10 +696,10 @@
 to 'view_'.
 
     [% USE view %]
-    [% view.view_header() %]			# => view('header')
+    [% view.view_header() %]                    # => view('header')
 
     [% USE view(view_prefix => 'show_me_the_' %]
-    [% view.show_me_the_header() %]		# => view('header')
+    [% view.show_me_the_header() %]             # => view('header')
 
 =item view_naked
 
@@ -711,7 +708,7 @@
 
     [% USE view(view_naked => 1) %]
 
-    [% view.header() %]			# => view('header')
+    [% view.header() %]                 # => view('header')
 
 =back
 
@@ -725,18 +722,18 @@
 
 =head1 AUTHOR
 
-Andy Wardley E<lt>abw@kfs.orgE<gt>
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
 
 =head1 COPYRIGHT
 
-Copyright (C) 2000 Andy Wardley.  All Rights Reserved.
+Copyright (C) 2000-2007 Andy Wardley.  All Rights Reserved.
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
 
 =head1 SEE ALSO
 
-L<Template::Plugin|Template::Plugin>, 
+L<Template::Plugin>
 
 =cut