summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xinstallperl8
-rw-r--r--lib/Text/Tabs.pm6
-rw-r--r--perl.c2
-rw-r--r--pp_hot.c8
4 files changed, 16 insertions, 8 deletions
diff --git a/installperl b/installperl
index d0d5eebac5..b576d8b847 100755
--- a/installperl
+++ b/installperl
@@ -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 '';
diff --git a/lib/Text/Tabs.pm b/lib/Text/Tabs.pm
index acd7afb7d6..c431019908 100644
--- a/lib/Text/Tabs.pm
+++ b/lib/Text/Tabs.pm
@@ -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 a117b7b103..2d4115451e 100644
--- 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;
diff --git a/pp_hot.c b/pp_hot.c
index ebef05c115..d3a2a51aa3 100644
--- 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);