Not OK: perl v5.7.0 +DEVEL9472 on VMS_AXP V7.1 (UNINSTALLED)
Peter Prymmer [Fri, 30 Mar 2001 18:06:36 +0000 (10:06 -0800)]
Message-ID: <Pine.OSF.4.10.10103301805450.63762-100000@aspara.forte.com>

p4raw-id: //depot/perl@9485

regexec.c
t/lib/cwd.t

index cfe77f5..625f8eb 100644 (file)
--- a/regexec.c
+++ b/regexec.c
@@ -3245,9 +3245,15 @@ S_regmatch(pTHX_ regnode *prog)
                            c = utf8_to_uvchr((U8*)PL_reginput, NULL);
                        else
                            c = UCHARAT(PL_reginput);
+                       /* If it could work, try it. */
+                       if (c == c1 || c == c2)
+                       {
+                           TRYPAREN(paren, n, PL_reginput);
+                           REGCP_UNWIND(lastcp);
+                       }
                    }
                    /* If it could work, try it. */
-                   if (c1 == -1000 || c == c1 || c == c2)
+                   else if (c1 == -1000)
                    {
                        TRYPAREN(paren, n, PL_reginput);
                        REGCP_UNWIND(lastcp);
index f852a27..f507918 100644 (file)
@@ -33,10 +33,14 @@ my $pwd_cmd =
     ($^O eq "MSWin32") ? "cd" : (grep { -x && -f } map { "$_/pwd" }
                               split m/$Config{path_sep}/, $ENV{PATH})[0];
 
+if ($^O eq 'VMS') { $pwd_cmd = 'SHOW DEFAULT'; }
+
 if (defined $pwd_cmd) {
     chomp(my $start = `$pwd_cmd`);
     # Win32's cd returns native C:\ style
     $start =~ s,\\,/,g if $^O eq 'MSWin32';
+    # DCL SHOW DEFAULT has leading spaces
+    $start =~ s/^\s+// if $^O eq 'VMS';
     if ($?) {
        for (3..6) {
            print "ok $_ # Skip: '$pwd_cmd' failed\n";
@@ -68,6 +72,8 @@ my $getcwd     = getcwd;
 my $fastcwd    = fastcwd;
 my $fastgetcwd = fastgetcwd;
 my $want = "t/pteerslt/path/to/a/dir";
+# This checked out OK on ODS-2 and ODS-5:
+$want = "T\.PTEERSLT\.PATH\.TO\.A\.DIR\]";
 print +($cwd        =~ m|$want$| ? "" : "not "), "ok 7\n";
 print +($getcwd     =~ m|$want$| ? "" : "not "), "ok 8\n";
 print +($fastcwd    =~ m|$want$| ? "" : "not "), "ok 9\n";
@@ -86,7 +92,13 @@ Cwd::chdir ".."; rmdir "path";
 print "#$ENV{PWD}\n";
 Cwd::chdir ".."; rmdir "pteerslt";
 print "#$ENV{PWD}\n";
-print +($ENV{PWD}  =~ m|\bt$| ? "" : "not "), "ok 12\n";
+if ($^O eq 'VMS') {
+    # This checked out OK on ODS-2 and ODS-5:
+    print +($ENV{PWD}  =~ m|\bT\]$| ? "" : "not "), "ok 12\n";
+}
+else {
+    print +($ENV{PWD}  =~ m|\bt$| ? "" : "not "), "ok 12\n";
+}
 
 if ($Config{d_symlink}) {
     my @dirs = split " " => $Config{libpth};