[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