Hello,
  several of the lib/Automake/*.pm files are used by Autoconf as
lib/Autom4te/*.pm.  Why isn't ChannelDefs.pm among them.

autoconf/.../ChannelDefs.pm has accumulated several small changes
which should go to lib/Automake/
The only question is about -Wcross.  Shall Automake have this new
category of warnings, even though it does not use it currently?

Attached please find a patch which would sync the two clones.
Are you willing to apply?

Have a nice day,
        Stepan Kasal
2008-03-14  Stepan Kasal  <[EMAIL PROTECTED]>

        * lib/Automake/ChannelDefs.pm: Import changes from Autoconf.

--- lib/Automake/ChannelDefs.pm 2008-02-05 15:10:22.000000000 +0100
+++ lib/Automake/ChannelDefs.pm 2008-03-14 15:03:05.904510600 +0100
@@ -25,7 +25,7 @@
 
   use Automake::ChannelDefs;
 
-  Automake::ChannelDefs::usage ();
+  print Automake::ChannelDefs::usage (), "\n";
   prog_error ($MESSAGE, [%OPTIONS]);
   error ($WHERE, $MESSAGE, [%OPTIONS]);
   error ($MESSAGE);
@@ -34,12 +34,12 @@
   verb ($MESSAGE, [%OPTIONS]);
   switch_warning ($CATEGORY);
   parse_WARNINGS ();
-  parse_warning ($OPTION, $ARGUMENT);
+  parse_warnings ($OPTION, $ARGUMENT);
   Automake::ChannelDefs::set_strictness ($STRICTNESS_NAME);
 
 =head1 DESCRIPTION
 
-This packages defines channels that can be used in Automake to
+This package defines channels that can be used in Automake to
 output diagnostics and other messages (via C<msg()>).  It also defines
 some helper function to enable or disable these channels, and some
 shorthand function to output on specific channels.
@@ -78,7 +78,7 @@
 
 =item C<error-gnu/warn>
 
-Errors related to GNU Standards that should be warnings in `foreign' mode.
+Errors related to GNU Standards that should be warnings in "foreign" mode.
 
 =item C<error-gnits>
 
@@ -88,6 +88,10 @@
 
 Internal errors.  Use C<&prog_error> to send messages over this channel.
 
+=item C<cross>
+
+Constructs compromising the cross-compilation of the package.
+
 =item C<gnu>
 
 Warnings related to GNU Coding Standards.
@@ -140,6 +144,7 @@
             "####################\n"),
   footer => "\nPlease contact <[EMAIL PROTECTED]>.";
 
+register_channel 'cross', type => 'warning', silent => 1;
 register_channel 'gnu', type => 'warning';
 register_channel 'obsolete', type => 'warning', silent => 1;
 register_channel 'override', type => 'warning', silent => 1;
@@ -156,13 +161,14 @@
 
 =item C<usage ()>
 
-Display warning categories.
+Return the warning category descriptions.
 
 =cut
 
 sub usage ()
 {
-  print "Warning categories include:
+  return "Warning categories include:
+  `cross'         cross compilation issues
   `gnu'           GNU coding standards (default in gnu and gnits modes)
   `obsolete'      obsolete features or constructions
   `override'      user redefinitions of Automake rules or variables
@@ -172,8 +178,7 @@
   `all'           all the warnings
   `no-CATEGORY'   turn off warnings in CATEGORY
   `none'          turn off all the warnings
-  `error'         treat warnings as errors
-";
+  `error'         treat warnings as errors";
 }
 
 =item C<prog_error ($MESSAGE, [%OPTIONS])>
@@ -232,7 +237,7 @@
 =item C<switch_warning ($CATEGORY)>
 
 If C<$CATEGORY> is C<mumble>, turn on channel C<mumble>.
-If it's C<no-mumble>, turn C<mumble> off.
+If it is C<no-mumble>, turn C<mumble> off.
 Else handle C<all> and C<none> for completeness.
 
 =cut
@@ -291,21 +296,22 @@
     }
 }
 
-=item C<parse_warning ($OPTION, $ARGUMENT)>
+=item C<parse_warnings ($OPTION, @ARGUMENT)>
 
 Parse the argument of C<--warning=CATEGORY> or C<-WCATEGORY>.
 
-C<$OPTIONS> is C<"--warning"> or C<"-W">, C<$ARGUMENT> is C<CATEGORY>.
+C<$OPTIONS> is C<"--warning"> or C<"-W">, C<@ARGUMENT> is a list of
+C<CATEGORY>.
 
-This is meant to be used as a argument to C<Getopt>.
+This can be used as an argument to C<Getopt>.
 
 =cut
 
-sub parse_warnings ($$)
+sub parse_warnings ($@)
 {
-  my ($opt, $categories) = @_;
+  my ($opt, @categories) = @_;
 
-  foreach my $cat (split (',', $categories))
+  foreach my $cat (map { split ',' } @categories)
     {
       msg 'unsupported', "unknown warning category `$cat'"
        if switch_warning $cat;

Reply via email to