diff options
Diffstat (limited to 'dev-perl/AppConfig/files/blockdiffs.patch')
-rw-r--r-- | dev-perl/AppConfig/files/blockdiffs.patch | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/dev-perl/AppConfig/files/blockdiffs.patch b/dev-perl/AppConfig/files/blockdiffs.patch new file mode 100644 index 000000000000..2e30310a8884 --- /dev/null +++ b/dev-perl/AppConfig/files/blockdiffs.patch @@ -0,0 +1,83 @@ +diff -Naurp AppConfig-1.65.orig/lib/AppConfig/File.pm AppConfig-1.65/lib/AppConfig/File.pm +--- AppConfig-1.65.orig/lib/AppConfig/File.pm 2007-05-30 07:24:09.000000000 -0400 ++++ AppConfig-1.65/lib/AppConfig/File.pm 2007-06-09 07:08:21.000000000 -0400 +@@ -38,6 +38,7 @@ sub new { + STATE => $state, # AppConfig::State ref + DEBUG => $state->_debug(), # store local copy of debug + PEDANTIC => $state->_pedantic, # and pedantic flags ++ BLOCKSEP => $state->_blocksep, # and block separator + }; + + bless $self, $class; +@@ -80,7 +81,7 @@ sub parse { + my $flag; + + # take a local copy of the state to avoid much hash dereferencing +- my ($state, $debug, $pedantic) = @$self{ qw( STATE DEBUG PEDANTIC ) }; ++ my ($state, $debug, $pedantic, $blocksep) = @$self{ qw( STATE DEBUG PEDANTIC BLOCKSEP ) }; + + # we want to install a custom error handler into the AppConfig::State + # which appends filename and line info to error messages and then +@@ -163,7 +164,7 @@ sub parse { + s/\s+$//; + + # look for a [block] to set $prefix +- if (/^\[([^\]]+)\]$/) { ++ if (/^\[\s*([^\]\s]+)\s*\]$/) { + $prefix = $1; + print STDERR "Entering [$prefix] block\n" if $debug; + next; +@@ -194,7 +195,7 @@ sub parse { + $flag = $1; + + # $variable gets any $prefix +- $variable = $prefix . '_' . $variable ++ $variable = $prefix . $blocksep . $variable + if length $prefix; + + # if the variable doesn't exist, we call set() to give +diff -Naurp AppConfig-1.65.orig/lib/AppConfig/State.pm AppConfig-1.65/lib/AppConfig/State.pm +--- AppConfig-1.65.orig/lib/AppConfig/State.pm 2007-05-30 07:24:20.000000000 -0400 ++++ AppConfig-1.65/lib/AppConfig/State.pm 2007-06-09 07:11:16.000000000 -0400 +@@ -53,7 +53,7 @@ my %METHVARS; + + # internal values that AUTOLOAD should provide access to + my %METHFLAGS; +- @METHFLAGS{ qw( PEDANTIC ) } = (); ++ @METHFLAGS{ qw( PEDANTIC BLOCKSEP ) } = (); + + # variable attributes that may be specified in GLOBAL; + my @GLOBAL_OK = qw( DEFAULT EXPAND VALIDATE ACTION ARGS ARGCOUNT ); +@@ -94,6 +94,7 @@ sub new { + PEDANTIC => 0, # return immediately on parse warnings + EHANDLER => undef, # error handler (let's hope we don't need it!) + ERROR => '', # error message ++ BLOCKSEP => '_', # separator between [block] and variable name + }; + + bless $self, $class; +@@ -504,8 +505,8 @@ sub _configure { + next; + }; + +- # CASE, CREATE and PEDANTIC are stored as they are +- $opt =~ /^CASE|CREATE|PEDANTIC$/i && do { ++ # CASE, CREATE, PEDANTIC and BLOCKSEP are stored as they are ++ $opt =~ /^CASE|CREATE|PEDANTIC|BLOCKSEP$/i && do { + $self->{ uc $opt } = $cfg->{ $opt }; + next; + }; +@@ -1015,6 +1016,13 @@ instantiated with a reference to an App: + DEBUG (and also PEDANTIC) values of the state at that time. Subsequent + changes to the AppConfig::State debug value will not affect them. + ++=item BLOCKSEP ++ ++When parsing configuration files that are grouped using constructions ++like [block], this string parameter determines what is used to ++separate the name of the block from the name of each variable ++contained within it. If unspecified, BLOCKSEP defaults to '_'. ++ + =item GLOBAL + + The GLOBAL option allows default values to be set for the DEFAULT, ARGCOUNT, |