diff options
author | Byron Brummer <byron@omix.com> | 1999-05-19 21:01:17 -0700 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-05-24 04:39:49 +0000 |
commit | 097b73fc5cb8bdbb798f77a57a98ef495774299a (patch) | |
tree | ff4ed3202cc73a54fb1df5be5a8adbaf13c40983 /lib | |
parent | 538573f733f1f6e6430074c1bcabb095b33cf3c4 (diff) | |
download | perl-097b73fc5cb8bdbb798f77a57a98ef495774299a.tar.gz |
avoid removing duplicates in user-generated warnings
Message-Id: <199905201101.EAA91175@thrush.omix.com>
Subject: [PATCH] Re: warn buffers/loses output in ?? - 5.005_03
p4raw-id: //depot/perl@3453
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/diagnostics.pm | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/diagnostics.pm b/lib/diagnostics.pm index 1f3f30c1c0..f174ee5feb 100755 --- a/lib/diagnostics.pm +++ b/lib/diagnostics.pm @@ -51,6 +51,11 @@ The B<-verbose> flag first prints out the L<perldiag> introduction before any other diagnostics. The $diagnostics::PRETTY variable can generate nicer escape sequences for pagers. +Warnings dispatched from perl itself (or more accurately, those that match +descriptions found in L<perldiag>) are only displayed once (no duplicate +descriptions). User code generated warnings ala warn() are unaffected, +allowing duplicate user messages to be displayed. + =head2 The I<splain> Program While apparently a whole nuther program, I<splain> is actually nothing @@ -458,13 +463,15 @@ sub splainthis { s/\.?\n+$//; my $orig = $_; # return unless defined; - if ($exact_duplicate{$_}++) { - return 1; - } s/, <.*?> (?:line|chunk).*$//; $real = s/(.*?) at .*? (?:line|chunk) \d+.*/$1/; s/^\((.*)\)$/$1/; - return 0 unless &transmo; + if ($exact_duplicate{$orig}++) { + return &transmo; + } + else { + return 0 unless &transmo; + } $orig = shorten($orig); if ($old_diag{$_}) { autodescribe(); |