[interchange-cvs] interchange - heins modified lib/Vend/Config.pm
interchange-cvs at icdevgroup.org
interchange-cvs at icdevgroup.org
Thu Apr 14 09:36:08 EDT 2005
User: heins
Date: 2005-04-14 13:36:08 GMT
Modified: lib/Vend Config.pm
Log:
* Add Override parameter to tag compilation mechanism. This allows
you to override a tag distributed with the core.
UserTag value Override 1
UserTag value Order name
UserTag value addAttr
UserTag value PosNumber 1
UserTag value Version $Revision: 1.4 $
UserTag value Routine <<EOR
sub {
BEGIN {
::logDebug("\n### compiling overridden value tag");
}
::logDebug("overridden value tag, args=" . join(",", @_));
Vend::Interpolate::tag_value(@_);
}
You must be careful to name the file with a ".tag" or
.usertag extension, as a .coretag will not override.
Revision Changes Path
2.163 +9 -3 interchange/lib/Vend/Config.pm
rev 2.163, prev_rev 2.162
Index: Config.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Config.pm,v
retrieving revision 2.162
retrieving revision 2.163
diff -u -r2.162 -r2.163
--- Config.pm 13 Apr 2005 16:13:27 -0000 2.162
+++ Config.pm 14 Apr 2005 13:36:08 -0000 2.163
@@ -1,6 +1,6 @@
# Vend::Config - Configure Interchange
#
-# $Id: Config.pm,v 2.162 2005/04/13 16:13:27 mheins Exp $
+# $Id: Config.pm,v 2.163 2005/04/14 13:36:08 mheins Exp $
#
# Copyright (C) 2002-2003 Interchange Development Group
# Copyright (C) 1996-2002 Red Hat, Inc.
@@ -49,7 +49,7 @@
use Vend::File;
use Vend::Data;
-$VERSION = substr(q$Revision: 2.162 $, 10);
+$VERSION = substr(q$Revision: 2.163 $, 10);
my %CDname;
my %CPname;
@@ -3816,6 +3816,7 @@
attrdefault attrDefault
cannest canNest
description Description
+ override Override
visibility Visibility
documentation Documentation
extrameta ExtraMeta
@@ -4008,7 +4009,12 @@
return $c unless $Global::TagInclude->{$tag} || $Global::TagInclude->{ALL};
}
- if($p eq 'Routine' or $p eq 'PosRoutine') {
+ if($p eq 'Override') {
+ for (keys %$c) {
+ delete $c->{$_}{$tag};
+ }
+ }
+ elsif($p eq 'Routine' or $p eq 'PosRoutine') {
if (defined $c->{Source}->{$tag}->{$p}){
config_error(
errmsg(
More information about the interchange-cvs
mailing list