Integrate with Sarathy.
Jarkko Hietaniemi [Sun, 30 Apr 2000 23:24:23 +0000 (23:24 +0000)]
p4raw-id: //depot/cfgperl@6026

16 files changed:
README.win32
ext/File/Glob/Glob.pm
ext/Sys/Syslog/Syslog.pm
ext/Sys/Syslog/Syslog.xs
lib/perl5db.pl
lib/unicode/Is/Alnum.pl
lib/unicode/Is/Alpha.pl
lib/unicode/Is/Word.pl
lib/unicode/mktables.PL
pod/perl56delta.pod
sv.c
t/lib/b.t
t/lib/open3.t
t/lib/syslog.t
toke.c
win32/win32.h

index e71b6f4..f7bf25c 100644 (file)
@@ -197,9 +197,9 @@ sure you have done the previous steps correctly.
 Type "dmake test" (or "nmake test").  This will run most of the tests from
 the testsuite (many tests will be skipped).
 
-No tests should typically fail when running Windows NT 4.0.  Under Windows
-2000, test 22 in lib/open3.t is known to fail (cause still unknown).  Many
-tests will fail under Windows 9x due to the inferior command shell.
+There should be no test failures when running under Windows NT 4.0 or
+Windows 2000.  Many tests I<will> fail under Windows 9x due to the inferior
+command shell.
 
 Some test failures may occur if you use a command shell other than the
 native "cmd.exe", or if you are building from a path that contains
index 1353d4f..98ee34d 100644 (file)
@@ -331,9 +331,9 @@ Be aware that all filenames returned from File::Glob are tainted.
 =item *
 
 If you want to use multiple patterns, e.g. C<bsd_glob "a* b*">, you should
-probably throw them in a set as in C<glob "{a*,b*}">.  This is because
-the argument to glob isn't subjected to parsing by the C shell.  Remember
-that you can use a backslash to escape things.
+probably throw them in a set as in C<bsd_glob "{a*,b*}">.  This is because
+the argument to bsd_glob() isn't subjected to parsing by the C shell.
+Remember that you can use a backslash to escape things.
 
 =item *
 
index 95f89ce..c7ce3de 100644 (file)
@@ -70,9 +70,11 @@ Sets the socket type to be used for the next call to
 C<openlog()> or C<syslog()> and returns TRUE on success,
 undef on failure.
 
-A value of 'unix' will connect to the UNIX domain socket returned by
-C<_PATH_LOG> in F<syslog.ph>.  A value of 'inet' will connect to an
-INET socket returned by getservbyname().  Any other value croaks.
+A value of 'unix' will connect to the UNIX domain socket returned by the
+C<_PATH_LOG> macro (if you system defines it) in F<syslog.h>.  A value of
+'inet' will connect to an INET socket returned by getservbyname().  If
+C<_PATH_LOG> is unavailable or if getservbyname() fails, returns undef.  Any
+other value croaks.
 
 The default is for the INET socket to be used.
 
@@ -107,10 +109,15 @@ L<syslog(3)>
 
 =head1 AUTHOR
 
-Tom Christiansen E<lt>F<tchrist@perl.com>E<gt> and Larry Wall E<lt>F<larry@wall.org>E<gt>.
-UNIX domain sockets added by Sean Robinson E<lt>F<robinson_s@sc.maricopa.edu>E<gt>
-with support from Tim Bunce <Tim.Bunce@ig.co.uk> and the perl5-porters mailing list.
-Dependency on F<syslog.ph> replaced with XS code bu Tom Hughes E<lt>F<tom@compton.nu>E<gt>.
+Tom Christiansen E<lt>F<tchrist@perl.com>E<gt> and Larry Wall
+E<lt>F<larry@wall.org>E<gt>.
+
+UNIX domain sockets added by Sean Robinson
+E<lt>F<robinson_s@sc.maricopa.edu>E<gt> with support from Tim Bunce
+E<lt>F<Tim.Bunce@ig.co.uk>E<gt> and the perl5-porters mailing list.
+
+Dependency on F<syslog.ph> replaced with XS code by Tom Hughes
+E<lt>F<tom@compton.nu>E<gt>.
 
 =cut
 
@@ -159,7 +166,7 @@ sub setlogsock {
     local($setsock) = shift;
     &disconnect if $connected;
     if (lc($setsock) eq 'unix') {
-        if (defined &_PATH_LOG) {
+        if (length _PATH_LOG()) {
             $sock_type = 1;
         } else {
             return undef;
@@ -274,7 +281,8 @@ sub connect {
         socket(SYSLOG,AF_INET,SOCK_DGRAM,$udp)           || croak "socket: $!";
         connect(SYSLOG,$that)                            || croak "connect: $!";
     } else {
-        my $syslog = _PATH_LOG()                         || croak "_PATH_LOG not found in syslog.ph";
+        my $syslog = _PATH_LOG();
+       length($syslog)                                  || croak "_PATH_LOG unavailable in syslog.h";
         my $that = sockaddr_un($syslog)                  || croak "Can't locate $syslog";
         socket(SYSLOG,AF_UNIX,SOCK_STREAM,0)             || croak "socket: $!";
         if (!connect(SYSLOG,$that)) {
index f0573b8..31c0e84 100644 (file)
@@ -550,8 +550,7 @@ _PATH_LOG()
 #ifdef _PATH_LOG
        RETVAL = _PATH_LOG;
 #else
-       croak("Your vendor has not defined the Sys::Syslog macro _PATH_LOG");
-       RETVAL = NULL;
+       RETVAL = "";
 #endif
     OUTPUT:
        RETVAL
index f935e94..41430ac 100644 (file)
@@ -1698,8 +1698,6 @@ sub unbalanced {
 }
 
 sub gets {
-    local($.);
-    #<IN>;
     &readline("cont: ");
 }
 
@@ -1804,6 +1802,7 @@ EOP
 }
 
 sub readline {
+  local $.;
   if (@typeahead) {
     my $left = @typeahead;
     my $got = shift @typeahead;
index d44f744..203860b 100644 (file)
@@ -10,11 +10,7 @@ return <<'END';
 00ba   
 00c0   00d6
 00d8   00f6
-00f8   01c4
-01c6   01c7
-01c9   01ca
-01cc   01f1
-01f3   021f
+00f8   021f
 0222   0233
 0250   02ad
 0386   
@@ -210,19 +206,16 @@ return <<'END';
 1f5b   
 1f5d   
 1f5f   1f7d
-1f80   1f87
-1f90   1f97
-1fa0   1fa7
-1fb0   1fb4
-1fb6   1fbb
+1f80   1fb4
+1fb6   1fbc
 1fbe   
 1fc2   1fc4
-1fc6   1fcb
+1fc6   1fcc
 1fd0   1fd3
 1fd6   1fdb
 1fe0   1fec
 1ff2   1ff4
-1ff6   1ffb
+1ff6   1ffc
 207f   
 2102   
 2107   
index 0e94688..90020b8 100644 (file)
@@ -9,11 +9,7 @@ return <<'END';
 00ba   
 00c0   00d6
 00d8   00f6
-00f8   01c4
-01c6   01c7
-01c9   01ca
-01cc   01f1
-01f3   021f
+00f8   021f
 0222   0233
 0250   02ad
 0386   
@@ -193,19 +189,16 @@ return <<'END';
 1f5b   
 1f5d   
 1f5f   1f7d
-1f80   1f87
-1f90   1f97
-1fa0   1fa7
-1fb0   1fb4
-1fb6   1fbb
+1f80   1fb4
+1fb6   1fbc
 1fbe   
 1fc2   1fc4
-1fc6   1fcb
+1fc6   1fcc
 1fd0   1fd3
 1fd6   1fdb
 1fe0   1fec
 1ff2   1ff4
-1ff6   1ffb
+1ff6   1ffc
 207f   
 2102   
 2107   
index 23186bd..2f13b38 100644 (file)
@@ -11,11 +11,7 @@ return <<'END';
 00ba   
 00c0   00d6
 00d8   00f6
-00f8   01c4
-01c6   01c7
-01c9   01ca
-01cc   01f1
-01f3   021f
+00f8   021f
 0222   0233
 0250   02ad
 0386   
@@ -211,19 +207,16 @@ return <<'END';
 1f5b   
 1f5d   
 1f5f   1f7d
-1f80   1f87
-1f90   1f97
-1fa0   1fa7
-1fb0   1fb4
-1fb6   1fbb
+1f80   1fb4
+1fb6   1fbc
 1fbe   
 1fc2   1fc4
-1fc6   1fcb
+1fc6   1fcc
 1fd0   1fd3
 1fd6   1fdb
 1fe0   1fec
 1ff2   1ff4
-1ff6   1ffb
+1ff6   1ffc
 207f   
 2102   
 2107   
index f4ae601..4f705a4 100755 (executable)
@@ -11,9 +11,10 @@ mkdir "To", 0777;
 @todo = (
 # typical
 
-    ['IsWord',  '$cat =~ /^L[ulo]|^Nd/ or $code eq "005F"',    ''],
-    ['IsAlnum', '$cat =~ /^L[ulo]|^Nd/',       ''],
-    ['IsAlpha',  '$cat =~ /^L[ulo]/',  ''],
+    ['IsWord',  '$cat =~ /^L[ulot]|^Nd/ or $code eq "005F"',   ''],
+    ['IsAlnum', '$cat =~ /^L[ulot]|^Nd/',      ''],
+    ['IsAlpha',  '$cat =~ /^L[ulot]/', ''],
+    # XXX broken: recursive definition (/\s/ will look up IsSpace in future)
     ['IsSpace',  '$cat =~ /^Z/ or $code lt "0020" and chr(hex $code) =~ /^\s/',        ''],
     ['IsDigit',  '$cat =~ /^Nd$/',     ''],
     ['IsUpper',  '$cat =~ /^Lu$/',     ''],
index 377e448..27cdc22 100644 (file)
@@ -2839,11 +2839,6 @@ operation must be considered erroneous. For example:
 These expressions will get run-time errors in some future release of
 Perl.
 
-=head2 Windows 2000
-
-Windows 2000 is known to fail test 22 in lib/open3.t (cause unknown at
-this time).  That test passes under Windows NT.
-
 =head2 Experimental features
 
 As discussed above, many features are still experimental.  Interfaces and
diff --git a/sv.c b/sv.c
index c885bb2..2d075eb 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -7888,6 +7888,7 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
     }
     else {
        init_stacks();
+       ENTER;                  /* perl_destruct() wants to LEAVE; */
     }
 
     PL_start_env       = proto_perl->Tstart_env;       /* XXXXXX */
index 96770ba..663ea55 100755 (executable)
--- a/t/lib/b.t
+++ b/t/lib/b.t
@@ -32,8 +32,8 @@ print "not " if "{\n    \$test /= 2 if ++\$test;\n}" ne
 ok;
 
 my $a = `$^X -I../lib -MO=Deparse -anle 1 2>&1`;
+$a =~ s/-e syntax OK\n//g;
 $b = <<'EOF';
--e syntax OK
 
 LINE: while (defined($_ = <ARGV>)) {
     chomp $_;
@@ -45,7 +45,7 @@ continue {
 }
 
 EOF
-print "not " if $a ne $b;
+print "# [$a]\n\# vs\n# [$b]\nnot " if $a ne $b;
 ok;
 
 #6
@@ -60,7 +60,7 @@ print "not " unless $a =~
 /\bLISTOP\b.*leave.*\bOP\b.*enter.*\bCOP\b.*nextstate.*\bOP\b.*null/s;
 ok;
 
-$a = `$^X -I../lib -MO=Terse -ane 's/foo/bar/' 2>&1`;
+$a = `$^X -I../lib -MO=Terse -ane "s/foo/bar/" 2>&1`;
 $a =~ s/\(0x[^)]+\)//g;
 $a =~ s/\[[^\]]+\]//g;
 $a =~ s/-e syntax OK//;
@@ -82,6 +82,7 @@ ok;
 
 chomp($a = `$^X -I../lib -MB::Stash -Mwarnings -e1`);
 $a = join ',', sort split /,/, $a;
+$a =~ s/-uWin32,//;
 $b = '-uCarp,-uCarp::Heavy,-uDB,-uExporter,-uExporter::Heavy,-uattributes,'
    . '-umain,-uwarnings';
 print "# [$a] vs [$b]\nnot " if $a ne $b;
index 7cd0ca3..bf042bf 100755 (executable)
@@ -20,7 +20,7 @@ use IO::Handle;
 use IPC::Open3;
 #require 'open3.pl'; use subs 'open3';
 
-my $perl = './perl';
+my $perl = $^X;
 
 sub ok {
     my ($n, $result, $info) = @_;
index 2ed887a..e1927bc 100755 (executable)
@@ -14,9 +14,14 @@ use Sys::Syslog qw(:DEFAULT setlogsock);
 
 print "1..6\n";
 
-print defined(eval { setlogsock('unix') }) ? "ok 1\n" : "not ok 1\n";
-print defined(eval { openlog('perl', 'ndelay', 'local0') }) ? "ok 2\n" : "not ok 2\n";
-print defined(eval { syslog('info', 'test') }) ? "ok 3\n" : "not ok 3\n";
+if (Sys::Syslog::_PATH_LOG()) {
+    print defined(eval { setlogsock('unix') }) ? "ok 1\n" : "not ok 1\n";
+    print defined(eval { openlog('perl', 'ndelay', 'local0') }) ? "ok 2\n" : "not ok 2\n";
+    print defined(eval { syslog('info', 'test') }) ? "ok 3\n" : "not ok 3\n";
+}
+else {
+    for (1..3) { print "ok $_ # skipping, _PATH_LOG unavailable\n" }
+}
 
 print defined(eval { setlogsock('inet') }) ? "ok 4\n" : "not ok 4\n";
 print defined(eval { openlog('perl', 'ndelay', 'local0') }) ? "ok 5\n" : "not ok 5\n";
diff --git a/toke.c b/toke.c
index 737c9ae..860e3c1 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -1377,7 +1377,7 @@ S_scan_const(pTHX_ char *start)
            default:
                {
                    dTHR;
-                   if (ckWARN(WARN_MISC) && isALPHA(*s))
+                   if (ckWARN(WARN_MISC) && isALNUM(*s))
                        Perl_warner(aTHX_ WARN_MISC, 
                               "Unrecognized escape \\%c passed through",
                               *s);
index 35d5bdf..3929bcc 100644 (file)
@@ -200,6 +200,8 @@ typedef unsigned short      mode_t;
 /* Visual C thinks that a pointer to a member variable is 16 bytes in size. */
 #define PERL_MEMBER_PTR_SIZE   16
 
+#define isnan          _isnan
+
 #endif /* _MSC_VER */
 
 #ifdef __MINGW32__             /* Minimal Gnu-Win32 */