summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Dvornik <bert@genscan.com>1998-07-22 11:14:46 -0400
committerGurusamy Sarathy <gsar@cpan.org>1998-07-22 19:37:41 +0000
commitb61d194ccc4ffeadd2cf0ae98317321309a3dd04 (patch)
treee8c522914726f0d2e04dd9faf378ad779278cccc
parente010571f6cb51179682ace9243bd94062586abdf (diff)
downloadperl-b61d194ccc4ffeadd2cf0ae98317321309a3dd04.tar.gz
don't use qualify() in class methods
Message-Id: <tqbtqhlmu1.fsf_-_@puma.genscan.com> Subject: [PATCH 5.005-MAYBE] Bug in IO::Handle->input_record_separator p4raw-id: //depot/perl@1645
-rw-r--r--ext/IO/lib/IO/Handle.pm17
1 files changed, 7 insertions, 10 deletions
diff --git a/ext/IO/lib/IO/Handle.pm b/ext/IO/lib/IO/Handle.pm
index af3df7125d..7927641f7f 100644
--- a/ext/IO/lib/IO/Handle.pm
+++ b/ext/IO/lib/IO/Handle.pm
@@ -423,21 +423,19 @@ sub stat {
##
sub autoflush {
- my $old = new SelectSaver qualify($_[0], caller);
+ my $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
my $prev = $|;
$| = @_ > 1 ? $_[1] : 1;
$prev;
}
sub output_field_separator {
- my $old = new SelectSaver qualify($_[0], caller);
my $prev = $,;
$, = $_[1] if @_ > 1;
$prev;
}
sub output_record_separator {
- my $old = new SelectSaver qualify($_[0], caller);
my $prev = $\;
$\ = $_[1] if @_ > 1;
$prev;
@@ -450,55 +448,54 @@ sub input_record_separator {
}
sub input_line_number {
+ # localizing $. doesn't work as advertised. grrrrrr.
my $prev = $.;
$. = $_[1] if @_ > 1;
$prev;
}
sub format_page_number {
- my $old = new SelectSaver qualify($_[0], caller);
+ my $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
my $prev = $%;
$% = $_[1] if @_ > 1;
$prev;
}
sub format_lines_per_page {
- my $old = new SelectSaver qualify($_[0], caller);
+ my $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
my $prev = $=;
$= = $_[1] if @_ > 1;
$prev;
}
sub format_lines_left {
- my $old = new SelectSaver qualify($_[0], caller);
+ my $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
my $prev = $-;
$- = $_[1] if @_ > 1;
$prev;
}
sub format_name {
- my $old = new SelectSaver qualify($_[0], caller);
+ my $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
my $prev = $~;
$~ = qualify($_[1], caller) if @_ > 1;
$prev;
}
sub format_top_name {
- my $old = new SelectSaver qualify($_[0], caller);
+ my $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
my $prev = $^;
$^ = qualify($_[1], caller) if @_ > 1;
$prev;
}
sub format_line_break_characters {
- my $old = new SelectSaver qualify($_[0], caller);
my $prev = $:;
$: = $_[1] if @_ > 1;
$prev;
}
sub format_formfeed {
- my $old = new SelectSaver qualify($_[0], caller);
my $prev = $^L;
$^L = $_[1] if @_ > 1;
$prev;