This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate with Sarathy.
authorJarkko Hietaniemi <jhi@iki.fi>
Mon, 19 Jul 1999 07:06:36 +0000 (07:06 +0000)
committerJarkko Hietaniemi <jhi@iki.fi>
Mon, 19 Jul 1999 07:06:36 +0000 (07:06 +0000)
p4raw-id: //depot/cfgperl@3704

Changes
lib/Carp.pm
makedef.pl
pod/perldiag.pod
sv.h
util.c
win32/win32.c

diff --git a/Changes b/Changes
index ed52997..732a864 100644 (file)
--- a/Changes
+++ b/Changes
@@ -79,6 +79,53 @@ Version 5.005_58        Development release working toward 5.006
 ----------------
 
 ____________________________________________________________________________
+[  3697] By: gsar                                  on 1999/07/18  05:22:36
+        Log: From: pvhp@forte.com (Peter Prymmer)
+             Date: Thu, 1 Jul 99 19:31:24 PDT
+             Message-Id: <9907020231.AA16942@forte.com>
+             Subject: [ID 19990701.031] 4 ctl chars on EBCDIC not asciiish enough
+     Branch: perl
+           + t/op/chars.t
+           ! MANIFEST ebcdic.c t/op/ord.t
+____________________________________________________________________________
+[  3696] By: gsar                                  on 1999/07/18  05:11:02
+        Log: display thread id in diagnostics (suggested by Dan Sugalski)
+     Branch: perl
+           ! lib/Carp.pm util.c
+____________________________________________________________________________
+[  3695] By: gsar                                  on 1999/07/18  04:57:47
+        Log: missing perldiag entry (from Dan Sugalski <sugalskd@osshe.edu>)
+     Branch: perl
+           ! pod/perldiag.pod
+____________________________________________________________________________
+[  3694] By: gsar                                  on 1999/07/18  04:56:28
+        Log: cache [NIUP]V conversions of defined READONLY values
+             From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Sun, 11 Jul 1999 04:39:44 -0400
+             Message-ID: <19990711043944.A25944@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.005_57] Allow caching of numeric/string conversion
+     Branch: perl
+           ! sv.c
+____________________________________________________________________________
+[  3693] By: gsar                                  on 1999/07/18  03:53:38
+        Log: From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Sat, 17 Jul 1999 10:58:29 +0200
+             Message-ID: <379144ad.13616689@smtp1.ibm.net>
+             Subject: [PATCH 5.005] Some lib/ExtUtils/Manifest.pm POD fixes
+     Branch: perl
+           ! lib/ExtUtils/Manifest.pm
+____________________________________________________________________________
+[  3692] By: gsar                                  on 1999/07/18  03:51:03
+        Log: remove spurious newSTATEOP() that causes goto to enter one too many
+             contexts when jumping between if and elsif blocks
+     Branch: perl
+           ! perly.c perly.y pp_ctl.c t/op/goto.t
+____________________________________________________________________________
+[  3691] By: gsar                                  on 1999/07/18  01:49:59
+        Log: detypo, update Changes
+     Branch: perl
+           ! Changes doio.c
+____________________________________________________________________________
 [  3690] By: gsar                                  on 1999/07/18  01:16:59
         Log: mention the -Minteger effect on modulus (from Nathan Torkington)
      Branch: perl
index 8301f37..3644424 100644 (file)
@@ -176,8 +176,10 @@ sub longmess {
            # here's where the error message, $mess, gets constructed
            $mess .= "\t$sub " if $error eq "called";
            $mess .= "$error at $file line $line";
-           $mess .= " thread " . Thread->self->tid
-               if exists $main::{'Thread::'};
+           if (exists $main::{'Thread::'}) {
+               my $tid = Thread->self->tid;
+               $mess .= " thread $tid" if $tid;
+           }
            $mess .= "\n";
        }
        # we don't need to print the actual error message again so we can
@@ -259,8 +261,10 @@ sub shortmess {    # Short-circuit &longmess if called via multiple packages
            # remove them first.
            my $msg;
            $msg = "$error at $file line $line";
-           $msg .= " thread " . Thread->self->tid
-               if exists $main::{'Thread::'};
+           if (exists $main::{'Thread::'}) {
+               my $tid = Thread->self->tid;
+               $mess .= " thread $tid" if $tid;
+           }
            $msg .= "\n";
            $msg =~ tr/\0//d;
            return $msg;
index 99914fc..50cbcbb 100644 (file)
@@ -367,7 +367,7 @@ for my $syms (@syms)
 # variables
 
 if ($define{'PERL_OBJECT'}) {
-    for my $f ($perlvars_h, $ntrpvar_h, $thrdvar_h) {
+    for my $f ($perlvars_h, $intrpvar_h, $thrdvar_h) {
        my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" });
        emit_symbols $glob;
     }
@@ -395,7 +395,7 @@ sub try_symbol {
     return if $symbol =~ /^\#/;
     $symbol =~s/\r//g;
     chomp($symbol);
-    next if exists $skip{$symbol};
+    return if exists $skip{$symbol};
     emit_symbol($symbol);
 }
 
@@ -412,6 +412,8 @@ Perl_setTHR
 Perl_thread_create
 Perl_win32_init
 RunPerl
+GetPerlInterpreter
+SetPerlInterpreter
 win32_errno
 win32_environ
 win32_stdin
index 96031a5..f5717c5 100644 (file)
@@ -447,12 +447,6 @@ the return value of your socket() call?  See L<perlfunc/bind>.
 %ENV, it encountered a logical name or symbol definition which was too long,
 so it was truncated to the string shown.
 
-=item Buffer overflow in prime_env_iter: %s
-
-(W) A warning peculiar to VMS.  While Perl was preparing to iterate over
-%ENV, it encountered a logical name or symbol definition which was too long,
-so it was truncated to the string shown.
-
 =item Callback called exit
 
 (F) A subroutine invoked from an external package via perl_call_sv()
@@ -494,13 +488,6 @@ from the CRTL's internal environment array and discovered the array was
 missing.  You need to figure out where your CRTL misplaced its environ
 or define F<PERL_ENV_TABLES> (see L<perlvms>) so that environ is not searched.
 
-=item Can't read CRTL environ
-
-(S) A warning peculiar to VMS.  Perl tried to read an element of %ENV
-from the CRTL's internal environment array and discovered the array was
-missing.  You need to figure out where your CRTL misplaced its environ
-or define F<PERL_ENV_TABLES> (see L<perlvms>) so that environ is not searched.
-
 =item Can't "redo" outside a block
 
 (F) A "redo" statement was executed to restart the current block, but
@@ -1840,14 +1827,6 @@ to UTC.  If it's not, define the logical name F<SYS$TIMEZONE_DIFFERENTIAL>
 to translate to the number of seconds which need to be added to UTC to
 get local time.
 
-=item no UTC offset information; assuming local time is UTC
-
-(S) A warning peculiar to VMS.  Per was unable to find the local
-timezone offset, so it's assuming that local system time is equivalent
-to UTC.  If it's not, define the logical name F<SYS$TIMEZONE_DIFFERENTIAL>
-to translate to the number of seconds which need to be added to UTC to
-get local time.
-
 =item Not a CODE reference
 
 (F) Perl was trying to evaluate a reference to a code value (that is, a
@@ -2722,17 +2701,6 @@ rebuild Perl with a CRTL that does, or redefine F<PERL_ENV_TABLES> (see
 L<perlvms>) so that the environ array isn't the target of the change to
 %ENV which produced the warning.
 
-=item This Perl can't reset CRTL eviron elements (%s)
-
-=item This Perl can't set CRTL environ elements (%s=%s)
-
-(W) Warnings peculiar to VMS.  You tried to change or delete an element
-of the CRTL's internal environ array, but your copy of Perl wasn't
-built with a CRTL that contained the setenv() function.  You'll need to
-rebuild Perl with a CRTL that does, or redefine F<PERL_ENV_TABLES> (see
-L<perlvms>) so that the environ array isn't the target of the change to
-%ENV which produced the warning.
-
 =item times not implemented
 
 (F) Your version of the C library apparently doesn't do times().  I suspect
@@ -2894,13 +2862,6 @@ iterating over it, and someone else stuck a message in the stream of
 data Perl expected.  Someone's very confused, or perhaps trying to
 subvert Perl's population of %ENV for nefarious purposes.
 
-=item Unknown process %x sent message to prime_env_iter: %s
-
-(P) An error peculiar to VMS.  Perl was reading values for %ENV before
-iterating over it, and someone else stuck a message in the stream of
-data Perl expected.  Someone's very confused, or perhaps trying to
-subvert Perl's population of %ENV for nefarious purposes.
-
 =item unmatched () in regexp
 
 (F) Unbackslashed parentheses must always be balanced in regular
@@ -3109,13 +3070,6 @@ element from a CLI symbol table, and found a resultant string longer
 than 1024 characters.  The return value has been truncated to 1024
 characters.
 
-=item Value of CLI symbol "%s" too long
-
-(W) A warning peculiar to VMS.  Perl tried to read the value of an %ENV
-element from a CLI symbol table, and found a resultant string longer
-than 1024 characters.  The return value has been truncated to 1024
-characters.
-
 =item Variable "%s" is not imported%s
 
 (F) While "use strict" in effect, you referred to a global variable
diff --git a/sv.h b/sv.h
index 5787da3..4ba33ed 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -692,7 +692,7 @@ struct xpvio {
 
 #define isGV(sv) (SvTYPE(sv) == SVt_PVGV)
 
-#ifndef DOSISH
+#if !defined(DOSISH) || defined(WIN32)
 #  define SvGROW(sv,len) (SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX(sv))
 #  define Sv_Grow sv_grow
 #else
diff --git a/util.c b/util.c
index aa43861..7c83d03 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1417,7 +1417,8 @@ Perl_mess(pTHX_ const char *pat, va_list *args)
                      (long)IoLINES(GvIOp(PL_last_in_gv)));
        }
 #ifdef USE_THREADS
-       sv_catpvf(sv, " thread %ld", thr->tid);
+       if (thr->tid)
+           Perl_sv_catpvf(aTHX_ sv, " thread %ld", thr->tid);
 #endif
        sv_catpv(sv, PL_dirty ? dgd : ".\n");
     }
index 59e493a..b28b042 100644 (file)
@@ -1802,12 +1802,14 @@ win32_str_os_error(void *sv, DWORD dwErr)
                          |FORMAT_MESSAGE_IGNORE_INSERTS
                          |FORMAT_MESSAGE_FROM_SYSTEM, NULL,
                           dwErr, 0, (char *)&sMsg, 1, NULL);
+    /* strip trailing whitespace and period */
     if (0 < dwLen) {
-       while (0 < dwLen  &&  isSPACE(sMsg[--dwLen]))
-           ;
+       do {
+           --dwLen;    /* dwLen doesn't include trailing null */
+       } while (0 < dwLen && isSPACE(sMsg[dwLen]));
        if ('.' != sMsg[dwLen])
            dwLen++;
-       sMsg[dwLen]= '\0';
+       sMsg[dwLen] = '\0';
     }
     if (0 == dwLen) {
        sMsg = (char*)LocalAlloc(0, 64/**sizeof(TCHAR)*/);