Change 20567 by [EMAIL PROTECTED] on 2003/08/08 19:51:22

        Integrate:
        [ 20563]
        Subject: [PATCH] maintperl & bleadperl for Cygwin: include libgdbm_compat & 
libcygipc in searchlist
        From: "Gerrit P. Haase" <[EMAIL PROTECTED]>
        Date: Fri, 8 Aug 2003 13:44:51 +0200
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 20564]
        Subject: [PATCH] Re: [EMAIL PROTECTED]: WinXP build failed op/time.t test 2
        From: Steve Hay <[EMAIL PROTECTED]>
        Date: Fri, 08 Aug 2003 12:42:28 +0100
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 20565]
        Move the csighandler to be a data variable so that
        things like DLL trampolines can't mess up the code
        variables the Perl_csighandler (seen in Cygwin:
        Perl_csighandler in POSIX extension was different
        than in main executable).
        
        [ 20566]
        Subject: UNICODE regexp bug
        From: Nick Ing-Simmons <[EMAIL PROTECTED]>
        Date: Fri, 08 Aug 2003 20:36:56 +0100
        Message-Id: <[EMAIL PROTECTED]>

Affected files ...

... //depot/maint-5.8/perl/embedvar.h#32 integrate
... //depot/maint-5.8/perl/ext/NDBM_File/hints/cygwin.pl#2 integrate
... //depot/maint-5.8/perl/ext/ODBM_File/hints/cygwin.pl#2 integrate
... //depot/maint-5.8/perl/ext/POSIX/POSIX.xs#10 integrate
... //depot/maint-5.8/perl/hints/cygwin.sh#2 integrate
... //depot/maint-5.8/perl/mg.c#24 integrate
... //depot/maint-5.8/perl/perlapi.h#29 integrate
... //depot/maint-5.8/perl/perlvars.h#13 integrate
... //depot/maint-5.8/perl/regexec.c#24 integrate
... //depot/maint-5.8/perl/t/op/pat.t#20 integrate
... //depot/maint-5.8/perl/t/op/time.t#2 integrate

Differences ...

==== //depot/maint-5.8/perl/embedvar.h#32 (text+w) ====
Index: perl/embedvar.h
--- perl/embedvar.h#31~20522~   Wed Aug  6 06:29:26 2003
+++ perl/embedvar.h     Fri Aug  8 12:51:22 2003
@@ -1421,6 +1421,7 @@
 
 #define PL_No                  (PL_Vars.GNo)
 #define PL_Yes                 (PL_Vars.GYes)
+#define PL_csighandlerp                (PL_Vars.Gcsighandlerp)
 #define PL_curinterp           (PL_Vars.Gcurinterp)
 #define PL_do_undump           (PL_Vars.Gdo_undump)
 #define PL_dollarzero_mutex    (PL_Vars.Gdollarzero_mutex)
@@ -1437,6 +1438,7 @@
 
 #define PL_GNo                 PL_No
 #define PL_GYes                        PL_Yes
+#define PL_Gcsighandlerp       PL_csighandlerp
 #define PL_Gcurinterp          PL_curinterp
 #define PL_Gdo_undump          PL_do_undump
 #define PL_Gdollarzero_mutex   PL_dollarzero_mutex

==== //depot/maint-5.8/perl/ext/NDBM_File/hints/cygwin.pl#2 (text) ====
Index: perl/ext/NDBM_File/hints/cygwin.pl
--- perl/ext/NDBM_File/hints/cygwin.pl#1~17645~ Fri Jul 19 12:29:57 2002
+++ perl/ext/NDBM_File/hints/cygwin.pl  Fri Aug  8 12:51:22 2003
@@ -1,2 +1,2 @@
 # uses GDBM ndbm compatibility feature
-$self->{LIBS} = ['-lgdbm'];
+$self->{LIBS} = ['-lgdbm -lgdbm_compat'];

==== //depot/maint-5.8/perl/ext/ODBM_File/hints/cygwin.pl#2 (text) ====
Index: perl/ext/ODBM_File/hints/cygwin.pl
--- perl/ext/ODBM_File/hints/cygwin.pl#1~17645~ Fri Jul 19 12:29:57 2002
+++ perl/ext/ODBM_File/hints/cygwin.pl  Fri Aug  8 12:51:22 2003
@@ -1,2 +1,2 @@
 # uses GDBM dbm compatibility feature
-$self->{LIBS} = ['-lgdbm'];
+$self->{LIBS} = ['-lgdbm -lgdbm_compat'];

==== //depot/maint-5.8/perl/ext/POSIX/POSIX.xs#10 (text) ====
Index: perl/ext/POSIX/POSIX.xs
--- perl/ext/POSIX/POSIX.xs#9~20091~    Wed Jul  9 01:23:20 2003
+++ perl/ext/POSIX/POSIX.xs     Fri Aug  8 12:51:22 2003
@@ -1293,7 +1293,7 @@
 
                /* Get back whether the old handler used safe signals. */
                svp = hv_fetch(oldaction, "SAFE", 4, TRUE);
-               sv_setiv(*svp, oact.sa_handler == Perl_csighandler);
+               sv_setiv(*svp, oact.sa_handler == PL_csighandlerp);
            }
 
            if (action) {

==== //depot/maint-5.8/perl/hints/cygwin.sh#2 (text) ====
Index: perl/hints/cygwin.sh
--- perl/hints/cygwin.sh#1~17645~       Fri Jul 19 12:29:57 2002
+++ perl/hints/cygwin.sh        Fri Aug  8 12:51:22 2003
@@ -23,6 +23,8 @@
 libswanted=`echo " $libswanted " | sed -e 's/ c / /g'`
 # - eliminate -lm, symlink to libcygwin.a
 libswanted=`echo " $libswanted " | sed -e 's/ m / /g'`
+# - add libgdbm_compat & libcygipc to $libswanted
+libswanted="$libswanted gdbm_compat cygipc"
 test -z "$optimize" && optimize='-O2'
 ccflags="$ccflags -DPERL_USE_SAFE_PUTENV"
 # - otherwise i686-cygwin

==== //depot/maint-5.8/perl/mg.c#24 (text) ====
Index: perl/mg.c
--- perl/mg.c#23~20072~ Tue Jul  8 02:24:42 2003
+++ perl/mg.c   Fri Aug  8 12:51:22 2003
@@ -1137,7 +1137,7 @@
 #endif
 #ifdef FAKE_DEFAULT_SIGNAL_HANDLERS
            sig_defaulting[i] = 1;
-           (void)rsignal(i, &Perl_csighandler);
+           (void)rsignal(i, PL_csighandlerp);
 #else
            (void)rsignal(i, SIG_DFL);
 #endif
@@ -1176,7 +1176,7 @@
     dTHX;
 #endif
 #ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS
-    (void) rsignal(sig, &Perl_csighandler);
+    (void) rsignal(sig, PL_csighandlerp);
     if (sig_ignoring[sig]) return;
 #endif
 #ifdef FAKE_DEFAULT_SIGNAL_HANDLERS
@@ -1206,7 +1206,7 @@
 #ifdef FAKE_DEFAULT_SIGNAL_HANDLERS
         dTHX;
         sig_defaulting[sig] = 1;
-        (void) rsignal(sig, &Perl_csighandler);
+        (void) rsignal(sig, PL_csighandlerp);
 #endif
 #ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS
         sig_ignoring[sig] = 0;
@@ -1299,7 +1299,7 @@
     }
     if (SvTYPE(sv) == SVt_PVGV || SvROK(sv)) {
        if (i) {
-           (void)rsignal(i, &Perl_csighandler);
+           (void)rsignal(i, PL_csighandlerp);
 #ifdef HAS_SIGPROCMASK
            LEAVE;
 #endif
@@ -1315,7 +1315,7 @@
        if (i) {
 #ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS
            sig_ignoring[i] = 1;
-           (void)rsignal(i, &Perl_csighandler);
+           (void)rsignal(i, PL_csighandlerp);
 #else
            (void)rsignal(i, SIG_IGN);
 #endif
@@ -1326,7 +1326,7 @@
 #ifdef FAKE_DEFAULT_SIGNAL_HANDLERS
          {
            sig_defaulting[i] = 1;
-           (void)rsignal(i, &Perl_csighandler);
+           (void)rsignal(i, PL_csighandlerp);
          }
 #else
            (void)rsignal(i, SIG_DFL);
@@ -1341,7 +1341,7 @@
        if (!strchr(s,':') && !strchr(s,'\''))
            sv_insert(sv, 0, 0, "main::", 6);
        if (i)
-           (void)rsignal(i, &Perl_csighandler);
+           (void)rsignal(i, PL_csighandlerp);
        else
            *svp = SvREFCNT_inc(sv);
     }
@@ -2549,7 +2549,7 @@
 #else
        /* Not clear if this will work */
        (void)rsignal(sig, SIG_IGN);
-       (void)rsignal(sig, &Perl_csighandler);
+       (void)rsignal(sig, PL_csighandlerp);
 #endif
 #endif /* !PERL_MICRO */
        Perl_die(aTHX_ Nullformat);

==== //depot/maint-5.8/perl/perlapi.h#29 (text+w) ====
Index: perl/perlapi.h
--- perl/perlapi.h#28~20522~    Wed Aug  6 06:29:26 2003
+++ perl/perlapi.h      Fri Aug  8 12:51:22 2003
@@ -988,6 +988,8 @@
 #define PL_No                  (*Perl_GNo_ptr(NULL))
 #undef  PL_Yes
 #define PL_Yes                 (*Perl_GYes_ptr(NULL))
+#undef  PL_csighandlerp
+#define PL_csighandlerp                (*Perl_Gcsighandlerp_ptr(NULL))
 #undef  PL_curinterp
 #define PL_curinterp           (*Perl_Gcurinterp_ptr(NULL))
 #undef  PL_do_undump

==== //depot/maint-5.8/perl/perlvars.h#13 (text) ====
Index: perl/perlvars.h
--- perl/perlvars.h#12~20271~   Mon Jul 28 08:18:57 2003
+++ perl/perlvars.h     Fri Aug  8 12:51:22 2003
@@ -63,3 +63,5 @@
  * The contents are never used, only the address. */
 PERLVAR(Gsv_placeholder, SV)
 
+PERLVARI(Gcsighandlerp,        Sighandler_t, &Perl_csighandler)        /* Pointer to 
C-level sighandler */
+

==== //depot/maint-5.8/perl/regexec.c#24 (text) ====
Index: perl/regexec.c
--- perl/regexec.c#23~20549~    Thu Aug  7 08:07:48 2003
+++ perl/regexec.c      Fri Aug  8 12:51:22 2003
@@ -1034,7 +1034,9 @@
            c1 = *(U8*)m;
            c2 = PL_fold_locale[c1];
          do_exactf:
-           e = HOP3c(strend, -(I32)ln, s);
+           /* The last byte to try is ln-1 characters before strend
+            * since the strend points one byte past the string. */
+           e = HOP3c(strend, (I32)1 - (I32)ln, s);
 
            if (norun && e < s)
                e = s;                  /* Due to minlen logic of intuit() */

==== //depot/maint-5.8/perl/t/op/pat.t#20 (xtext) ====
Index: perl/t/op/pat.t
--- perl/t/op/pat.t#19~20409~   Thu Jul 31 22:38:16 2003
+++ perl/t/op/pat.t     Fri Aug  8 12:51:22 2003
@@ -6,7 +6,7 @@
 
 $| = 1;
 
-print "1..1008\n";
+print "1..1009\n";
 
 BEGIN {
     chdir 't' if -d 't';
@@ -3188,6 +3188,9 @@
 ok("abcde" eq "$`", '# TODO #19049 - global match not setting $`');
 
 ok("123\x{100}" =~ /^.*1.*23\x{100}$/, 'uft8 + multiple floating substr');
+
+ok("  \x{101}" =~ qr/\x{100}/i,
+   "<[EMAIL PROTECTED]>");
 
 # last test 1008
 

==== //depot/maint-5.8/perl/t/op/time.t#2 (xtext) ====
Index: perl/t/op/time.t
--- perl/t/op/time.t#1~17645~   Fri Jul 19 12:29:57 2002
+++ perl/t/op/time.t    Fri Aug  8 12:51:22 2003
@@ -34,7 +34,7 @@
 
 for ($i = 0; $i < 100000; $i++) {
     ($nowuser, $nowsys) = times;
-    $i = 200000 if $nowuser > $beguser && ( $nowsys > $begsys || 
+    $i = 200000 if $nowuser > $beguser && ( $nowsys >= $begsys || 
                                             (!$nowsys && !$begsys));
     last if time - $beg > 20;
 }
End of Patch.

Reply via email to