Change 33825 by [EMAIL PROTECTED] on 2008/05/15 10:10:27

        It transpirse that POSIX.xs also duplicated several constants defined
        by Fcntl but only conditionally exported by Fcntl. The most obvious
        were SEEK_CUR, SEEK_END and SEEK_SET, as reported in bug #54186.
        So add them to the list of constants that POSIX imports from Fcntl.

Affected files ...

... //depot/perl/ext/POSIX/Makefile.PL#32 edit
... //depot/perl/ext/POSIX/POSIX.pm#54 edit
... //depot/perl/t/lib/proxy_constant_subs.t#2 edit

Differences ...

==== //depot/perl/ext/POSIX/Makefile.PL#32 (text) ====
Index: perl/ext/POSIX/Makefile.PL
--- perl/ext/POSIX/Makefile.PL#31~32539~        2007-11-28 12:27:55.000000000 
-0800
+++ perl/ext/POSIX/Makefile.PL  2008-05-15 03:10:27.000000000 -0700
@@ -48,13 +48,11 @@
       MAX_INPUT MB_LEN_MAX MSG_CTRUNC MSG_DONTROUTE MSG_EOR MSG_OOB MSG_PEEK 
       MSG_TRUNC MSG_WAITALL NAME_MAX NCCS NGROUPS_MAX NOFLSH OPEN_MAX OPOST
       PARENB PARMRK PARODD PATH_MAX PIPE_BUF RAND_MAX R_OK SCHAR_MAX
-      SCHAR_MIN SEEK_CUR SEEK_END SEEK_SET SHRT_MAX SHRT_MIN SIGABRT SIGALRM
+      SCHAR_MIN SHRT_MAX SHRT_MIN SIGABRT SIGALRM
       SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT
       SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU
       SIGUSR1 SIGUSR2 SIG_BLOCK SIG_SETMASK SIG_UNBLOCK SSIZE_MAX
-      STDERR_FILENO STDIN_FILENO STDOUT_FILENO STREAM_MAX
-      S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
-      S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR TCIFLUSH TCIOFF
+      STDERR_FILENO STDIN_FILENO STDOUT_FILENO STREAM_MAX TCIFLUSH TCIOFF
       TCIOFLUSH TCION TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW
       TMP_MAX TOSTOP TZNAME_MAX VEOF VEOL VERASE VINTR VKILL VMIN VQUIT
       VSTART VSTOP VSUSP VTIME WNOHANG WUNTRACED W_OK X_OK

==== //depot/perl/ext/POSIX/POSIX.pm#54 (text) ====
Index: perl/ext/POSIX/POSIX.pm
--- perl/ext/POSIX/POSIX.pm#53~33621~   2008-03-31 15:25:19.000000000 -0700
+++ perl/ext/POSIX/POSIX.pm     2008-05-15 03:10:27.000000000 -0700
@@ -4,7 +4,7 @@
 
 our(@ISA, %EXPORT_TAGS, @EXPORT_OK, @EXPORT, $AUTOLOAD, %SIGRT) = ();
 
-our $VERSION = "1.14";
+our $VERSION = "1.15";
 
 use AutoLoader;
 
@@ -13,7 +13,9 @@
 use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD
             F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND
             O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC
-            O_WRONLY);
+            O_WRONLY SEEK_CUR SEEK_END SEEK_SET
+            S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
+            S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR);
 
 # Grandfather old foo_h form to new :foo_h form
 my $loaded;

==== //depot/perl/t/lib/proxy_constant_subs.t#2 (text) ====
Index: perl/t/lib/proxy_constant_subs.t
--- perl/t/lib/proxy_constant_subs.t#1~29566~   2006-12-16 15:03:42.000000000 
-0800
+++ perl/t/lib/proxy_constant_subs.t    2008-05-15 03:10:27.000000000 -0700
@@ -7,20 +7,20 @@
         print "1..0 # Skip -- Perl configured without B module\n";
         exit 0;
     }
-    if ($Config::Config{'extensions'} !~ /\bPOSIX\b/) {
-        print "1..0 # Skip -- Perl configured without POSIX\n";
+    if ($Config::Config{'extensions'} !~ /\bFcntl\b/) {
+        print "1..0 # Skip -- Perl configured without Fcntl\n";
         exit 0;
     }
-    # errno is a real subroutine, and acts as control
+    # S_IFMT is a real subroutine, and acts as control
     # SEEK_SET is a proxy constant subroutine.
-    @symbols = qw(errno SEEK_SET);
+    @symbols = qw(S_IFMT SEEK_SET);
 }
 
 use strict;
 use warnings;
 use Test::More tests => 4 * @symbols;
 use B qw(svref_2object GVf_IMPORTED_CV);
-use POSIX @symbols;
+use Fcntl @symbols;
 
 # GVf_IMPORTED_CV should not be set on the original, but should be set on the
 # imported GV.
@@ -29,7 +29,7 @@
     my ($ps, $ms);
     {
        no strict 'refs';
-       $ps = svref_2object(\*{"POSIX::$symbol"});
+       $ps = svref_2object(\*{"Fcntl::$symbol"});
        $ms = svref_2object(\*{"::$symbol"});
     }
     isa_ok($ps, 'B::GV');
End of Patch.

Reply via email to