[ 20563]
Subject: [PATCH] maintperl & bleadperl for Cygwin: include libgdbm_compat & libcygipc in searchlist
From: "Gerrit P. Haase" <gp@familiehaase.de>
Date: Fri, 8 Aug 2003 13:44:51 +0200
Message-ID: <
1621817486657.
20030808134451@familiehaase.de>
[ 20564]
Subject: [PATCH] Re: main@20537: WinXP build failed op/time.t test 2
From: Steve Hay <steve.hay@uk.radan.com>
Date: Fri, 08 Aug 2003 12:42:28 +0100
Message-ID: <
3F338CA4.3010503@uk.radan.com>
[ 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 <nick@ing-simmons.net>
Date: Fri, 08 Aug 2003 20:36:56 +0100
Message-Id: <
20030808193656.5109.1@llama.ni-s.u-net.com>
p4raw-link: @20566 on //depot/perl:
c1e0e3d213c8ff11e0eeef6aecef3894e8ec6e96
p4raw-link: @20565 on //depot/perl:
5c1546dc48d585e2ab2e244b01f0213280b12017
p4raw-link: @20564 on //depot/perl:
ab2f3c4a71e82c5e73898a746d576abd20c32de8
p4raw-link: @20563 on //depot/perl:
0016644b4ef8e92272036e52ec534c50ed8924c6
p4raw-id: //depot/maint-5.8/perl@20567
p4raw-integrated: from //depot/perl@20562 'copy in'
ext/NDBM_File/hints/cygwin.pl ext/ODBM_File/hints/cygwin.pl
(@4769..) t/op/time.t (@11838..) hints/cygwin.sh (@16291..)
ext/POSIX/POSIX.xs (@20081..) 'merge in' mg.c (@20068..)
embedvar.h perlapi.h perlvars.h (@20263..) t/op/pat.t
(@20405..) regexec.c (@20538..)
#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)
#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
# uses GDBM ndbm compatibility feature
-$self->{LIBS} = ['-lgdbm'];
+$self->{LIBS} = ['-lgdbm -lgdbm_compat'];
# uses GDBM dbm compatibility feature
-$self->{LIBS} = ['-lgdbm'];
+$self->{LIBS} = ['-lgdbm -lgdbm_compat'];
/* 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) {
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
#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
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
#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;
}
if (SvTYPE(sv) == SVt_PVGV || SvROK(sv)) {
if (i) {
- (void)rsignal(i, &Perl_csighandler);
+ (void)rsignal(i, PL_csighandlerp);
#ifdef HAS_SIGPROCMASK
LEAVE;
#endif
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
#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);
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);
}
#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);
#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
* The contents are never used, only the address. */
PERLVAR(Gsv_placeholder, SV)
+PERLVARI(Gcsighandlerp, Sighandler_t, &Perl_csighandler) /* Pointer to C-level sighandler */
+
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() */
$| = 1;
-print "1..1008\n";
+print "1..1009\n";
BEGIN {
chdir 't' if -d 't';
ok("123\x{100}" =~ /^.*1.*23\x{100}$/, 'uft8 + multiple floating substr');
+ok(" \x{101}" =~ qr/\x{100}/i,
+ "<20030808193656.5109.1@llama.ni-s.u-net.com>");
+
# last test 1008
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;
}