Pre-trip resolve
Nick Ing-Simmons [Sun, 17 Oct 1999 14:51:35 +0000 (14:51 +0000)]
p4raw-id: //depot/utfperl@4399

installperl
lib/Text/Tabs.pm
perl.c
pp_hot.c

index d0d5eeb..b576d8b 100755 (executable)
@@ -573,13 +573,15 @@ sub installlib {
 
     my $name = $_;
 
-    if ($name eq 'CVS' && -d $name) {
+    # Ignore RCS and CVS directories.
+    if (($name eq 'CVS' or $name eq 'RCS') and -d $name) {
        $File::Find::prune = 1;
        return;
     }
     
-    # ignore patch backups and the .exists files.
-    return if $name =~ m{\.orig$|~$|^\.exists};
+    # ignore patch backups, RCS files, emacs backup & temp files and the
+    # .exists files.
+    return if $name =~ m{\.orig$|~$|^#.+#$|,v$|^\.exists};
 
     $name = "$dir/$name" if $dir ne '';
 
index acd7afb..c431019 100644 (file)
@@ -7,7 +7,7 @@ require Exporter;
 @EXPORT = qw(expand unexpand $tabstop);
 
 use vars qw($VERSION $tabstop $debug);
-$VERSION = 96.121201;
+$VERSION = 98.112801;
 
 use strict;
 
@@ -18,7 +18,7 @@ BEGIN {
 
 sub expand
 {
-       my @l = @_;
+       my (@l) = @_;
        for $_ (@l) {
                1 while s/(^|\n)([^\t\n]*)(\t+)/
                        $1. $2 . (" " x 
@@ -32,7 +32,7 @@ sub expand
 
 sub unexpand
 {
-       my @l = @_;
+       my (@l) = @_;
        my @e;
        my $x;
        my $line;
diff --git a/perl.c b/perl.c
index a117b7b..2d41154 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -1244,7 +1244,7 @@ Perl_call_sv(pTHX_ SV *sv, I32 flags)
        CATCH_SET(TRUE);
        call_xbody((OP*)&myop, FALSE);
        retval = PL_stack_sp - (PL_stack_base + oldmark);
-       CATCH_SET(FALSE);
+       CATCH_SET(oldcatch);
     }
     else {
        cLOGOP->op_other = PL_op;
index ebef05c..d3a2a51 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2536,7 +2536,13 @@ try_autoload:
                                  "%p entersub preparing @_\n", thr));
 #endif
            av = (AV*)PL_curpad[0];
-           assert(!AvREAL(av));
+           if (AvREAL(av)) {
+               /* @_ is normally not REAL--this should only ever
+                * happen when DB::sub() calls things that modify @_ */
+               av_clear(av);
+               AvREAL_off(av);
+               AvREIFY_on(av);
+           }
 #ifndef USE_THREADS
            cx->blk_sub.savearray = GvAV(PL_defgv);
            GvAV(PL_defgv) = (AV*)SvREFCNT_inc(av);