Change 20947 by [EMAIL PROTECTED] on 2003/08/30 06:07:56

        Integrate:
        [ 20940]
        Add a new test, to ensure that we don't unexpectedly change
        prototypes of builtins.
        
        [ 20941]
        Subject: [patch sv.h api doc] SvTAINTED_on does its craft only under -T
        From: Stas Bekman <[EMAIL PROTECTED]>
        Date: Fri, 29 Aug 2003 17:11:41 -0700
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 20942]
        Subject: [PATCH: [EMAIL PROTECTED] fix File::Spec->abs2rel() to return 
absolute $path more often for VMS
        From: [EMAIL PROTECTED]
        Date: Sat, 30 Aug 2003 00:57:28 -0400
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 20943]
        Missed from #20942.
        
        [ 20944]
        Subject: [PATCH] XSLoader nits and tests
        From: Michael G Schwern <[EMAIL PROTECTED]>
        Date: Fri, 29 Aug 2003 22:55:07 -0700
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 20945]
        Make XSLoader.t more robust (and sdbm.t more verbose)
        
        [ 20946]
        Tabify and re-sort MANIFEST.

Affected files ...

... //depot/maint-5.8/perl/MANIFEST#105 integrate
... //depot/maint-5.8/perl/ext/DynaLoader/XSLoader_pm.PL#4 integrate
... //depot/maint-5.8/perl/ext/DynaLoader/t/XSLoader.t#1 branch
... //depot/maint-5.8/perl/ext/SDBM_File/t/sdbm.t#2 integrate
... //depot/maint-5.8/perl/lib/File/Spec.pm#9 integrate
... //depot/maint-5.8/perl/lib/File/Spec/VMS.pm#8 integrate
... //depot/maint-5.8/perl/lib/File/Spec/t/Spec.t#6 integrate
... //depot/maint-5.8/perl/pod/perlapi.pod#19 integrate
... //depot/maint-5.8/perl/sv.h#18 integrate
... //depot/maint-5.8/perl/t/op/cproto.t#1 branch

Differences ...

==== //depot/maint-5.8/perl/MANIFEST#105 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST#104~20926~    Thu Aug 28 09:45:10 2003
+++ perl/MANIFEST       Fri Aug 29 23:07:56 2003
@@ -213,6 +213,7 @@
 ext/DynaLoader/hints/openbsd.pl        Hint for DynaLoader for named architecture
 ext/DynaLoader/Makefile.PL     Dynamic Loader makefile writer
 ext/DynaLoader/README          Dynamic Loader notes and intro
+ext/DynaLoader/t/XSLoader.t    See if XSLoader works
 ext/DynaLoader/XSLoader_pm.PL  Simple XS Loader perl module
 ext/Encode/AUTHORS             List of authors
 ext/Encode/bin/enc2xs          Encode module generator
@@ -2685,6 +2686,7 @@
 t/op/concat.t                  See if string concatenation works
 t/op/cond.t                    See if conditional expressions work
 t/op/context.t                 See if context propagation works
+t/op/cproto.t                  Check builtin prototypes
 t/op/crypt.t                   See if crypt works
 t/op/defins.t                  See if auto-insert of defined() works
 t/op/delete.t                  See if delete works

==== //depot/maint-5.8/perl/ext/DynaLoader/XSLoader_pm.PL#4 (text) ====
Index: perl/ext/DynaLoader/XSLoader_pm.PL
--- perl/ext/DynaLoader/XSLoader_pm.PL#3~20636~ Tue Aug 12 01:58:28 2003
+++ perl/ext/DynaLoader/XSLoader_pm.PL  Fri Aug 29 23:07:56 2003
@@ -14,19 +14,7 @@
 
 package XSLoader;
 
-#   And Gandalf said: 'Many folk like to know beforehand what is to
-#   be set on the table; but those who have laboured to prepare the
-#   feast like to keep their secret; for wonder makes the words of
-#   praise louder.'
-
-#   (Quote from Tolkien sugested by Anno Siegel.)
-#
-# See pod text at end of file for documentation.
-# See also ext/DynaLoader/README in source tree for other information.
-#
-# [EMAIL PROTECTED], August 1994
-
-$VERSION = "0.01";     # avoid typo warning
+$VERSION = "0.02";
 
 # enable debug/trace messages from DynaLoader perl code
 # $dl_debug = $ENV{PERL_DL_DEBUG} || 0 unless defined $dl_debug;
@@ -45,14 +33,11 @@
                                 !defined(&dl_error);
 package XSLoader;
 
-1; # End of main code
-
-# The bootstrap function cannot be autoloaded (without complications)
-# so we define it here:
-
 sub load {
     package DynaLoader;
 
+    die q{XSLoader::load('Your::Module', $Your::Module::VERSION)} unless @_;
+
     my($module) = $_[0];
 
     # work with static linking too
@@ -137,6 +122,8 @@
     goto &DynaLoader::bootstrap_inherit;
 }
 
+1;
+
 __END__
 
 =head1 NAME
@@ -148,7 +135,7 @@
     package YourPackage;
     use XSLoader;
 
-    XSLoader::load 'YourPackage', @args;
+    XSLoader::load 'YourPackage', $YourPackage::VERSION;
 
 =head1 DESCRIPTION
 

==== //depot/maint-5.8/perl/ext/DynaLoader/t/XSLoader.t#1 (text) ====
Index: perl/ext/DynaLoader/t/XSLoader.t
--- /dev/null   Tue May  5 13:32:27 1998
+++ perl/ext/DynaLoader/t/XSLoader.t    Fri Aug 29 23:07:56 2003
@@ -0,0 +1,30 @@
+#!/usr/bin/perl -w
+
+BEGIN {
+    chdir 't';
+    @INC = '../lib';
+    eval 'use Fcntl';
+    if ($@ =~ /dynamic loading not available/) {
+        print "1..0 # Skip: no dynamic loading\n";
+       exit;
+    }
+    require Config; import Config;
+    if (($Config{'extensions'} !~ /\bSDBM_File\b/) && ($^O ne 'VMS')){
+       print "1..0 # Skip: no SDBM_File\n";
+       exit 0;
+    }
+}
+
+use Test;
+plan tests => 4;
+
+use XSLoader;
+ok(1);
+ok( ref XSLoader->can('load') );
+
+eval { XSLoader::load(); };
+ok( $@ =~ /^XSLoader::load\('Your::Module', \$Your::Module::VERSION\)/ );
+
+package SDBM_File;
+XSLoader::load('SDBM_File');
+::ok( ref SDBM_File->can('TIEHASH') );

==== //depot/maint-5.8/perl/ext/SDBM_File/t/sdbm.t#2 (text) ====
Index: perl/ext/SDBM_File/t/sdbm.t
--- perl/ext/SDBM_File/t/sdbm.t#1~20271~        Mon Jul 28 08:18:57 2003
+++ perl/ext/SDBM_File/t/sdbm.t Fri Aug 29 23:07:56 2003
@@ -7,7 +7,7 @@
     @INC = '../lib';
     require Config; import Config;
     if (($Config{'extensions'} !~ /\bSDBM_File\b/) && ($^O ne 'VMS')){
-       print "1..0\n";
+       print "1..0 # Skip: no SDBM_File\n";
        exit 0;
     }
 }

==== //depot/maint-5.8/perl/lib/File/Spec/VMS.pm#8 (text) ====
Index: perl/lib/File/Spec/VMS.pm
--- perl/lib/File/Spec/VMS.pm#7~20800~  Thu Aug 21 07:35:19 2003
+++ perl/lib/File/Spec/VMS.pm   Fri Aug 29 23:07:56 2003
@@ -412,6 +412,21 @@
         $base = $self->canonpath( $base ) ;
     }
 
+    # Are we even starting $path on the same (node::)device as $base?  Note that
+    # logical paths or nodename differences may be on the "same device" 
+    # but the comparison that ignores device differences so as to concatenate 
+    # [---] up directory specs is not even a good idea in cases where there is 
+    # a logical path difference between $path and $base nodename and/or device.
+    # Hence we fall back to returning the absolute $path spec
+    # if there is a case blind device (or node) difference of any sort
+    # and we do not even try to call $parse() or consult %ENV for $trnlnm()
+    # (this module needs to run on non VMS platforms after all).
+    my $path_device = ($self->splitpath( $path, 1 ))[0];
+    my $base_device = ($self->splitpath( $base, 1 ))[0];
+    if ( lc( $path_device ) ne lc( $base_device ) ) {
+        return ( $path ) ;
+    }
+
     # Split up paths
     my ( $path_directories, $path_file ) =
         ($self->splitpath( $path, 1 ))[1,2] ;

==== //depot/maint-5.8/perl/lib/File/Spec/t/Spec.t#6 (text) ====
Index: perl/lib/File/Spec/t/Spec.t
--- perl/lib/File/Spec/t/Spec.t#5~20802~        Thu Aug 21 08:07:17 2003
+++ perl/lib/File/Spec/t/Spec.t Fri Aug 29 23:07:56 2003
@@ -304,8 +304,8 @@
 [ "VMS->catdir('[.name]')",                                               '[.name]'   
         ],
 [ "VMS->catdir('[.name]','[.name]')",                                     
'[.name.name]'],
 
-[  "VMS->abs2rel('node::volume:[t1.t2.t3]','[t1.t2.t3]')", ''                 ],
-[  "VMS->abs2rel('node::volume:[t1.t2.t4]','[t1.t2.t3]')", '[-.t4]'           ],
+[  "VMS->abs2rel('node::volume:[t1.t2.t3]','node::volume:[t1.t2.t3]')", ''            
     ],
+[  "VMS->abs2rel('node::volume:[t1.t2.t4]','node::volume:[t1.t2.t3]')", '[-.t4]'      
     ],
 [  "VMS->abs2rel('[t1.t2.t3]','[t1.t2.t3]')",              ''                 ],
 [  "VMS->abs2rel('[t1.t2.t3]file','[t1.t2.t3]')",          'file'             ],
 [  "VMS->abs2rel('[t1.t2.t4]','[t1.t2.t3]')",              '[-.t4]'           ],
@@ -313,7 +313,7 @@
 [  "VMS->abs2rel('[t1.t2.t3.t4]','[t1.t2.t3]')",           '[t4]'             ],
 [  "VMS->abs2rel('[t4.t5.t6]','[t1.t2.t3]')",              '[---.t4.t5.t6]'   ],
 [ "VMS->abs2rel('[000000]','[t1.t2.t3]')",                 '[---]'            ],
-[ "VMS->abs2rel('a:[t1.t2.t4]','[t1.t2.t3]')",             '[-.t4]'           ],
+[ "VMS->abs2rel('a:[t1.t2.t4]','a:[t1.t2.t3]')",             '[-.t4]'           ],
 [ "VMS->abs2rel('[a.-.b.c.-]','[t1.t2.t3]')",              '[---.b]'          ],
 
 [ "VMS->rel2abs('[.t4]','[t1.t2.t3]')",          '[t1.t2.t3.t4]'    ],

==== //depot/maint-5.8/perl/pod/perlapi.pod#19 (text+w) ====
Index: perl/pod/perlapi.pod
--- perl/pod/perlapi.pod#18~20918~      Wed Aug 27 06:15:45 2003
+++ perl/pod/perlapi.pod        Fri Aug 29 23:07:56 2003
@@ -3221,7 +3221,7 @@
 
 =item SvTAINT
 
-Taints an SV if tainting is enabled
+Taints an SV if tainting is enabled.
 
        void    SvTAINT(SV* sv)
 
@@ -3254,7 +3254,7 @@
 
 =item SvTAINTED_on
 
-Marks an SV as tainted.
+Marks an SV as tainted if tainting is enabled.
 
        void    SvTAINTED_on(SV* sv)
 

==== //depot/maint-5.8/perl/sv.h#18 (text) ====
Index: perl/sv.h
--- perl/sv.h#17~20606~ Sun Aug 10 13:43:47 2003
+++ perl/sv.h   Fri Aug 29 23:07:56 2003
@@ -822,7 +822,7 @@
 not.
 
 =for apidoc Am|void|SvTAINTED_on|SV* sv
-Marks an SV as tainted.
+Marks an SV as tainted if tainting is enabled.
 
 =for apidoc Am|void|SvTAINTED_off|SV* sv
 Untaints an SV. Be I<very> careful with this routine, as it short-circuits
@@ -833,7 +833,7 @@
 untainting variables.
 
 =for apidoc Am|void|SvTAINT|SV* sv
-Taints an SV if tainting is enabled
+Taints an SV if tainting is enabled.
 
 =cut
 */

==== //depot/maint-5.8/perl/t/op/cproto.t#1 (text) ====
Index: perl/t/op/cproto.t
--- /dev/null   Tue May  5 13:32:27 1998
+++ perl/t/op/cproto.t  Fri Aug 29 23:07:56 2003
@@ -0,0 +1,256 @@
+#!./perl
+# Tests to ensure that we don't unexpectedly change prototypes of builtins
+
+use Test::More tests => 234;
+while (<DATA>) {
+    chomp;
+    my ($keyword, $proto) = split;
+    if ($proto eq 'undef') {
+       ok( !defined prototype "CORE::".$keyword, $keyword );
+    }
+    elsif ($proto eq 'unknown') {
+       eval { prototype "CORE::".$keyword };
+       like( $@, qr/Can't find an opnumber for/, $keyword );
+    }
+    else {
+       is( "(".prototype("CORE::".$keyword).")", $proto, $keyword );
+    }
+}
+
+# the keyword list :
+
+__DATA__
+abs (;$)
+accept (**)
+alarm (;$)
+and ()
+atan2 ($$)
+bind (*$)
+binmode (*;$)
+bless ($;$)
+caller (;$)
+chdir (;$)
+chmod (@)
+chomp undef
+chop undef
+chown (@)
+chr (;$)
+chroot (;$)
+close (;*)
+closedir (*)
+cmp unknown
+connect (*$)
+continue unknown
+cos (;$)
+crypt ($$)
+dbmclose (\%)
+dbmopen (\%$$)
+defined undef
+delete undef
+die (@)
+do undef
+dump ()
+each (\%)
+else undef
+elsif undef
+endgrent ()
+endhostent ()
+endnetent ()
+endprotoent ()
+endpwent ()
+endservent ()
+eof (;*)
+eq ($$)
+err unknown
+eval undef
+exec undef
+exists undef
+exit (;$)
+exp (;$)
+fcntl (*$$)
+fileno (*)
+flock (*$)
+for undef
+foreach undef
+fork ()
+format undef
+formline ($@)
+ge ($$)
+getc (;*)
+getgrent ()
+getgrgid ($)
+getgrnam ($)
+gethostbyaddr ($$)
+gethostbyname ($)
+gethostent ()
+getlogin ()
+getnetbyaddr ($$)
+getnetbyname ($)
+getnetent ()
+getpeername (*)
+getpgrp (;$)
+getppid ()
+getpriority ($$)
+getprotobyname ($)
+getprotobynumber ($)
+getprotoent ()
+getpwent ()
+getpwnam ($)
+getpwuid ($)
+getservbyname ($$)
+getservbyport ($$)
+getservent ()
+getsockname (*)
+getsockopt (*$$)
+glob undef
+gmtime (;$)
+goto undef
+grep undef
+gt ($$)
+hex (;$)
+if undef
+index ($$;$)
+int (;$)
+ioctl (*$$)
+join ($@)
+keys (\%)
+kill (@)
+last undef
+lc (;$)
+lcfirst (;$)
+le ($$)
+length (;$)
+link ($$)
+listen (*$)
+local undef
+localtime (;$)
+lock (\$)
+log (;$)
+lstat (*)
+lt ($$)
+m undef
+map undef
+mkdir ($;$)
+msgctl ($$$)
+msgget ($$)
+msgrcv ($$$$$)
+msgsnd ($$$)
+my undef
+ne ($$)
+next undef
+no undef
+not ($)
+oct (;$)
+open (*;$@)
+opendir (*$)
+or ()
+ord (;$)
+our undef
+pack ($@)
+package undef
+pipe (**)
+pop (;\@)
+pos undef
+print undef
+printf undef
+prototype undef
+push (\@@)
+q undef
+qq undef
+qr undef
+quotemeta (;$)
+qw undef
+qx undef
+rand (;$)
+read (*\$$;$)
+readdir (*)
+readline (;*)
+readlink (;$)
+readpipe unknown
+recv (*\$$$)
+redo undef
+ref (;$)
+rename ($$)
+require undef
+reset (;$)
+return undef
+reverse (@)
+rewinddir (*)
+rindex ($$;$)
+rmdir (;$)
+s undef
+scalar undef
+seek (*$$)
+seekdir (*$)
+select (;*)
+semctl ($$$$)
+semget ($$$)
+semop ($$)
+send (*$$;$)
+setgrent ()
+sethostent ($)
+setnetent ($)
+setpgrp undef
+setpriority ($$$)
+setprotoent ($)
+setpwent ()
+setservent ($)
+setsockopt (*$$$)
+shift (;\@)
+shmctl ($$$)
+shmget ($$$)
+shmread ($$$$)
+shmwrite ($$$$)
+shutdown (*$)
+sin (;$)
+sleep (;$)
+socket (*$$$)
+socketpair (**$$$)
+sort undef
+splice (\@;$$@)
+split undef
+sprintf ($@)
+sqrt (;$)
+srand (;$)
+stat (*)
+study undef
+sub undef
+substr ($$;$$)
+symlink ($$)
+syscall ($@)
+sysopen (*$$;$)
+sysread (*\$$;$)
+sysseek (*$$)
+system undef
+syswrite (*$;$$)
+tell (;*)
+telldir (*)
+tie undef
+tied undef
+time ()
+times ()
+tr undef
+truncate ($$)
+uc (;$)
+ucfirst (;$)
+umask (;$)
+undef undef
+unless undef
+unlink (@)
+unpack ($;$)
+unshift (\@@)
+untie undef
+until undef
+use undef
+utime (@)
+values (\%)
+vec ($$$)
+wait ()
+waitpid ($$)
+wantarray ()
+warn (@)
+while undef
+write (;*)
+x unknown
+xor ($$)
+y undef
End of Patch.

Reply via email to