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.