integrate 5.005_01 changes from maint
Gurusamy Sarathy [Mon, 27 Jul 1998 18:10:14 +0000 (18:10 +0000)]
p4raw-id: //depot/perl@1670
p4raw-integrated: from //depot/maint-5.005/perl@1667 'copy in'
README.win32 win32/GenCAPI.pl win32/win32.c (@1649..)
pod/perldelta.pod (@1654..) 'merge in' toke.c (@1649..) proto.h
(@1662..)

Changes
README.win32
pod/perldelta.pod
proto.h
toke.c
win32/GenCAPI.pl
win32/win32.c

diff --git a/Changes b/Changes
index d1c8d8a..5aa6852 100644 (file)
--- a/Changes
+++ b/Changes
@@ -78,6 +78,11 @@ Version 5.005_50        Development release working toward 5.006
 ----------------
 
 ____________________________________________________________________________
+[  1665] By: gsar                                  on 1998/07/26  05:38:48
+        Log: add trailing newline to file
+     Branch: perl
+           ! Changes lib/unicode/blocks.txt
+____________________________________________________________________________
 [  1664] By: gsar                                  on 1998/07/26  05:08:48
         Log: integrate proto.h additions from maint-5.005
      Branch: perl
index 6d9b015..6ac163a 100644 (file)
@@ -70,7 +70,7 @@ If the build fails under that shell, try building again with the cmd
 shell.  The Makefile also has known incompatibilites with the "command.com"
 shell that comes with Windows95, so building under Windows95 should
 be considered "unsupported".  However, there have been reports of successful
-build attempts using 4DOS/NT version 3.00 under Windows95, using dmake, but
+build attempts using 4DOS/NT version 6.01 under Windows95, using dmake, but
 your mileage may vary.
 
 The surest way to build it is on WindowsNT, using the cmd shell.
index 808b3f6..d43f657 100644 (file)
@@ -135,7 +135,12 @@ features make them less often a problem.  See L<New Diagnostics>.
 Perl has a new Social Contract for contributors.  See F<Porting/Contract>.
 
 The license included in much of the Perl documentation has changed.
-See L<perl> and the individual perl man pages listed therein.
+Most of the Perl documentation was previously under the implicit GNU
+General Public License or the Artistic License (at the user's choice).
+Now much of the documentation unambigously states the terms under which
+it may be distributed.  Those terms are in general much less restrictive
+than the GNU GPL.  See L<perl> and the individual perl man pages listed
+therein.
 
 =head1 Core Changes
 
@@ -301,13 +306,15 @@ and in XSUBs.
 
 =head2 More generous treatment of carriage returns
 
-Perl used to complain if it encountered carriage returns in scripts.  Now
-they are treated like whitespace.  Literal carriage returns inside
-string literals and here documents are ignored if they are paired with
-newlines, or treated like newlines if they stand alone.  This behavior
-means that literal carriage returns in files should be avoided.  You
-can get the older, more compatible (but less generous) behavior by
-defining the preprocessor symbol C<TMP_CRLF_PATCH> when building perl.
+Perl used to complain if it encountered literal carriage returns in
+scripts.  Now they are mostly treated like whitespace within program text.
+Inside string literals and here documents, literal carriage returns are
+ignored if they occur paired with newlines, or get interpreted as newlines
+if they stand alone.  This behavior means that literal carriage returns
+in files should be avoided.  You can get the older, more compatible (but
+less generous) behavior by defining the preprocessor symbol
+C<PERL_STRICT_CR> when building perl.  Of course, all this has nothing
+whatever to do with how escapes like C<\r> are handled within strings.
 
 Note that this doesn't somehow magically allow you to keep all text files
 in DOS format.  The generous treatment only applies to files that perl
diff --git a/proto.h b/proto.h
index 4dd1e7a..e84c42e 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -74,7 +74,7 @@ VIRTUAL char **       get_op_names _((void));
 VIRTUAL char * get_no_modify _((void));
 VIRTUAL U32 *  get_opargs _((void));
 VIRTUAL I32    cxinc _((void));
-VIRTUAL void   deb _((const char* pat,...)) /*__attribute__((format(printf,1,2)))*/;
+VIRTUAL void   deb _((const char* pat,...));
 VIRTUAL void   deb_growlevel _((void));
 VIRTUAL void   debprofdump _((void));
 VIRTUAL I32    debop _((OP* o));
diff --git a/toke.c b/toke.c
index 13cc965..fb0715d 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -11,8 +11,6 @@
  *   "It all comes from here, the stench and the peril."  --Frodo
  */
 
-#define TMP_CRLF_PATCH
-
 #include "EXTERN.h"
 #include "perl.h"
 
@@ -2078,7 +2076,7 @@ yylex(void)
        }
        goto retry;
     case '\r':
-#ifndef TMP_CRLF_PATCH
+#ifdef PERL_STRICT_CR
        warn("Illegal character \\%03o (carriage return)", '\r');
        croak(
       "(Maybe you didn't strip carriage returns after a network transfer?)\n");
@@ -5318,7 +5316,7 @@ scan_heredoc(register char *s)
     *d++ = '\n';
     *d = '\0';
     len = d - PL_tokenbuf;
-#ifdef TMP_CRLF_PATCH
+#ifndef PERL_STRICT_CR
     d = strchr(s, '\r');
     if (d) {
        char *olds = s;
@@ -5394,7 +5392,7 @@ scan_heredoc(register char *s)
        }
        PL_curcop->cop_line++;
        PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
-#ifdef TMP_CRLF_PATCH
+#ifndef PERL_STRICT_CR
        if (PL_bufend - PL_linestart >= 2) {
            if ((PL_bufend[-2] == '\r' && PL_bufend[-1] == '\n') ||
                (PL_bufend[-2] == '\n' && PL_bufend[-1] == '\r'))
@@ -5693,7 +5691,7 @@ scan_str(char *start)
 
        if (s < PL_bufend) break;       /* handle case where we are done yet :-) */
 
-#ifdef TMP_CRLF_PATCH
+#ifndef PERL_STRICT_CR
        if (to - SvPVX(sv) >= 2) {
            if ((to[-2] == '\r' && to[-1] == '\n') ||
                (to[-2] == '\n' && to[-1] == '\r'))
index 09827f2..33ffe94 100644 (file)
@@ -202,6 +202,29 @@ extern "C" $type $funcName ($args)
 ENDCODE
                     print OUTFILE "#endif\n" unless ($separateObj == 0);
                 }
+                elsif($name eq "sv_catpvf_mg") {
+                    print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0);
+                    $args[0] =~ /(\w+)\W*$/; 
+                    $arg0 = $1;
+                    $args[1] =~ /(\w+)\W*$/; 
+                    $arg1 = $1;
+                    print OUTFILE <<ENDCODE;
+
+#undef $name
+#ifndef mg_set
+#define mg_set pPerl->Perl_mg_set
+#endif
+extern "C" $type $funcName ($args)
+{
+    va_list args;
+    va_start(args, $arg1);
+    pPerl->Perl_sv_vcatpvfn($arg0, $arg1, strlen($arg1), &args, NULL, 0, NULL);
+    va_end(args);
+    SvSETMAGIC(sv);
+}
+ENDCODE
+                    print OUTFILE "#endif\n" unless ($separateObj == 0);
+                }
                 elsif($name eq "sv_setpvf") {
                     print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0);
                     $args[0] =~ /(\w+)\W*$/; 
@@ -221,6 +244,29 @@ extern "C" $type $funcName ($args)
 ENDCODE
                     print OUTFILE "#endif\n" unless ($separateObj == 0);
                 }
+                elsif($name eq "sv_setpvf_mg") {
+                    print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0);
+                    $args[0] =~ /(\w+)\W*$/; 
+                    $arg0 = $1;
+                    $args[1] =~ /(\w+)\W*$/; 
+                    $arg1 = $1;
+                    print OUTFILE <<ENDCODE;
+
+#undef $name
+#ifndef mg_set
+#define mg_set pPerl->Perl_mg_set
+#endif
+extern "C" $type $funcName ($args)
+{
+    va_list args;
+    va_start(args, $arg1);
+    pPerl->Perl_sv_vsetpvfn($arg0, $arg1, strlen($arg1), &args, NULL, 0, NULL);
+    va_end(args);
+    SvSETMAGIC(sv);
+}
+ENDCODE
+                    print OUTFILE "#endif\n" unless ($separateObj == 0);
+                }
                 elsif($name eq "fprintf") {
                     print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0);
                     $args[0] =~ /(\w+)\W*$/; 
index 03a9bd8..721b62a 100644 (file)
@@ -1175,6 +1175,7 @@ win32_crypt(const char *txt, const char *salt)
     return des_fcrypt(crypt_buffer, txt, salt);
 #else
     die("The crypt() function is unimplemented due to excessive paranoia.");
+    return Nullch;
 #endif
 }
 #endif