db89377
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158036
db89377
db89377
diff -ruN perl-5.8.6-cgi308/lib/CGI/t/form.t perl-5.8.6-cgi310/lib/CGI/t/form.t
db89377
--- perl-5.8.6-cgi308/lib/CGI/t/form.t	2005-05-15 01:20:29.910116896 +0100
db89377
+++ perl-5.8.6-cgi310/lib/CGI/t/form.t	2005-05-05 21:14:56.000000000 +0100
db89377
@@ -33,43 +33,43 @@
db89377
    "start_form()");
db89377
 
db89377
 is(submit(),
db89377
-   qq(<input type="submit" tabindex="0" name=".submit" />),
db89377
+   qq(<input type="submit" tabindex="1" name=".submit" />),
db89377
    "submit()");
db89377
 
db89377
 is(submit(-name  => 'foo',
db89377
 	  -value => 'bar'),
db89377
-   qq(<input type="submit" tabindex="1" name="foo" value="bar" />),
db89377
+   qq(<input type="submit" tabindex="2" name="foo" value="bar" />),
db89377
    "submit(-name,-value)");
db89377
 
db89377
 is(submit({-name  => 'foo',
db89377
 	   -value => 'bar'}),
db89377
-   qq(<input type="submit" tabindex="2" name="foo" value="bar" />),
db89377
+   qq(<input type="submit" tabindex="3" name="foo" value="bar" />),
db89377
    "submit({-name,-value})");
db89377
 
db89377
 is(textfield(-name => 'weather'),
db89377
-   qq(<input type="text" name="weather" tabindex="3" value="dull" />),
db89377
+   qq(<input type="text" name="weather" tabindex="4" value="dull" />),
db89377
    "textfield({-name})");
db89377
 
db89377
 is(textfield(-name  => 'weather',
db89377
 	     -value => 'nice'),
db89377
-   qq(<input type="text" name="weather" tabindex="4" value="dull" />),
db89377
+   qq(<input type="text" name="weather" tabindex="5" value="dull" />),
db89377
    "textfield({-name,-value})");
db89377
 
db89377
 is(textfield(-name     => 'weather',
db89377
 	     -value    => 'nice',
db89377
 	     -override => 1),
db89377
-   qq(<input type="text" name="weather" tabindex="5" value="nice" />),
db89377
+   qq(<input type="text" name="weather" tabindex="6" value="nice" />),
db89377
    "textfield({-name,-value,-override})");
db89377
 
db89377
 is(checkbox(-name  => 'weather',
db89377
 	    -value => 'nice'),
db89377
-   qq(<label><input type="checkbox" name="weather" value="nice" tabindex="6" />weather</label>),
db89377
+   qq(<label><input type="checkbox" name="weather" value="nice" tabindex="7" />weather</label>),
db89377
    "checkbox()");
db89377
 
db89377
 is(checkbox(-name  => 'weather',
db89377
 	    -value => 'nice',
db89377
 	    -label => 'forecast'),
db89377
-   qq(<label><input type="checkbox" name="weather" value="nice" tabindex="7" />forecast</label>),
db89377
+   qq(<label><input type="checkbox" name="weather" value="nice" tabindex="8" />forecast</label>),
db89377
    "checkbox()");
db89377
 
db89377
 is(checkbox(-name     => 'weather',
db89377
@@ -77,41 +77,41 @@
db89377
 	    -label    => 'forecast',
db89377
 	    -checked  => 1,
db89377
 	    -override => 1),
db89377
-   qq(<label><input type="checkbox" name="weather" value="nice" tabindex="8" checked="checked" />forecast</label>),
db89377
+   qq(<label><input type="checkbox" name="weather" value="nice" tabindex="9" checked="checked" />forecast</label>),
db89377
    "checkbox()");
db89377
 
db89377
 is(checkbox(-name  => 'weather',
db89377
 	    -value => 'dull',
db89377
 	    -label => 'forecast'),
db89377
-   qq(<label><input type="checkbox" name="weather" value="dull" tabindex="9" checked="checked" />forecast</label>),
db89377
+   qq(<label><input type="checkbox" name="weather" value="dull" tabindex="10" checked="checked" />forecast</label>),
db89377
    "checkbox()");
db89377
 
db89377
 is(radio_group(-name => 'game'),
db89377
-   qq(<label><input type="radio" name="game" value="chess" checked="checked" tabindex="10" />chess</label> <label><input type="radio" name="game" value="checkers" tabindex="11" />checkers</label>),
db89377
+   qq(<label><input type="radio" name="game" value="chess" checked="checked" tabindex="11" />chess</label> <label><input type="radio" name="game" value="checkers" tabindex="12" />checkers</label>),
db89377
    'radio_group()');
db89377
 
db89377
 is(radio_group(-name   => 'game',
db89377
 	       -labels => {'chess' => 'ping pong'}),
db89377
-   qq(<label><input type="radio" name="game" value="chess" checked="checked" tabindex="12" />ping pong</label> <label><input type="radio" name="game" value="checkers" tabindex="13" />checkers</label>),
db89377
+   qq(<label><input type="radio" name="game" value="chess" checked="checked" tabindex="13" />ping pong</label> <label><input type="radio" name="game" value="checkers" tabindex="14" />checkers</label>),
db89377
    'radio_group()');
db89377
 
db89377
 is(checkbox_group(-name   => 'game',
db89377
 		  -Values => [qw/checkers chess cribbage/]),
db89377
-   qq(<label><input type="checkbox" name="game" value="checkers" checked="checked" tabindex="14" />checkers</label> <label><input type="checkbox" name="game" value="chess" checked="checked" tabindex="15" />chess</label> <label><input type="checkbox" name="game" value="cribbage" tabindex="16" />cribbage</label>),
db89377
+   qq(<label><input type="checkbox" name="game" value="checkers" checked="checked" tabindex="15" />checkers</label> <label><input type="checkbox" name="game" value="chess" checked="checked" tabindex="16" />chess</label> <label><input type="checkbox" name="game" value="cribbage" tabindex="17" />cribbage</label>),
db89377
    'checkbox_group()');
db89377
 
db89377
 is(checkbox_group(-name       => 'game',
db89377
 		  '-values'   => [qw/checkers chess cribbage/],
db89377
 		  '-defaults' => ['cribbage'],
db89377
 		  -override=>1),
db89377
-   qq(<label><input type="checkbox" name="game" value="checkers" tabindex="17" />checkers</label> <label><input type="checkbox" name="game" value="chess" tabindex="18" />chess</label> <label><input type="checkbox" name="game" value="cribbage" checked="checked" tabindex="19" />cribbage</label>),
db89377
+   qq(<label><input type="checkbox" name="game" value="checkers" tabindex="18" />checkers</label> <label><input type="checkbox" name="game" value="chess" tabindex="19" />chess</label> <label><input type="checkbox" name="game" value="cribbage" checked="checked" tabindex="20" />cribbage</label>),
db89377
    'checkbox_group()');
db89377
 
db89377
 is(popup_menu(-name     => 'game',
db89377
 	      '-values' => [qw/checkers chess cribbage/],
db89377
 	      -default  => 'cribbage',
db89377
 	      -override => 1),
db89377
-   '<select name="game" tabindex="20">
db89377
+   '<select name="game" tabindex="21">
db89377
 <option value="checkers">checkers</option>
db89377
 <option value="chess">chess</option>
db89377
 <option selected="selected" value="cribbage">cribbage</option>
db89377
diff -ruN perl-5.8.6-cgi308/lib/CGI.pm perl-5.8.6-cgi310/lib/CGI.pm
db89377
--- perl-5.8.6-cgi308/lib/CGI.pm	2005-05-15 01:20:29.955110056 +0100
db89377
+++ perl-5.8.6-cgi310/lib/CGI.pm	2005-05-13 22:46:21.000000000 +0100
db89377
@@ -18,8 +18,8 @@
db89377
 # The most recent version and complete docs are available at:
db89377
 #   http://stein.cshl.org/WWW/software/CGI/
db89377
 
db89377
-$CGI::revision = '$Id: CGI.pm,v 1.179 2005/04/07 22:40:37 lstein Exp $';
db89377
-$CGI::VERSION=3.08;
db89377
+$CGI::revision = '$Id: CGI.pm,v 1.181 2005/05/13 21:45:26 lstein Exp $';
db89377
+$CGI::VERSION='3.10';
db89377
 
db89377
 # HARD-CODED LOCATION FOR FILE UPLOAD TEMPORARY FILES.
db89377
 # UNCOMMENT THIS ONLY IF YOU KNOW WHAT YOU'RE DOING.
db89377
@@ -179,11 +179,12 @@
db89377
 if (exists $ENV{MOD_PERL}) {
db89377
   # mod_perl handlers may run system() on scripts using CGI.pm;
db89377
   # Make sure so we don't get fooled by inherited $ENV{MOD_PERL}
db89377
-  if ($ENV{MOD_PERL_API_VERSION} == 2) {
db89377
+  if (exists $ENV{MOD_PERL_API_VERSION} && $ENV{MOD_PERL_API_VERSION} == 2) {
db89377
     $MOD_PERL = 2;
db89377
     require Apache2::Response;
db89377
     require Apache2::RequestRec;
db89377
     require Apache2::RequestUtil;
db89377
+    require Apache2::RequestIO;
db89377
     require APR::Pool;
db89377
   } else {
db89377
     $MOD_PERL = 1;
db89377
@@ -888,6 +889,7 @@
db89377
 
db89377
 sub element_tab {
db89377
   my ($self,$new_value) = self_or_default(@_);
db89377
+  $self->{'.etab'} ||= 1;
db89377
   $self->{'.etab'} = $new_value if defined $new_value;
db89377
   $self->{'.etab'}++;
db89377
 }