X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=Debian%2FDgit.pm;h=f68b7c9113404ae7fb46c0475daaaf90da5cdf31;hb=332806a67a034c88c2884b516ce2aaf8b317dd25;hp=c8a6fafec0b41259d37e2069ffabbde86f9f995a;hpb=38e68231e64477cc87c3e899c6f547c62ec590e9;p=dgit.git diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index c8a6fafe..f68b7c91 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -159,9 +159,21 @@ sub enabledebuglevel ($) { } sub printdebug { + # Prints a prefix, and @_, to DEBUG. @_ should normally contain + # a trailing \n. + + # With no (or only empty) arguments just prints the prefix and + # leaves the caller to do more with DEBUG. The caller should make + # sure then to call printdebug with something ending in "\n" to + # get the prefix right in subsequent calls. + return unless $debuglevel >= $printdebug_when_debuglevel; - print DEBUG $debugprefix; + our $printdebug_noprefix; + print DEBUG $debugprefix unless $printdebug_noprefix; + pop @_ while @_ and !length $_[-1]; + return unless @_; print DEBUG @_ or die $!; + $printdebug_noprefix = $_[-1] !~ m{\n$}; } sub messagequote ($) { @@ -272,7 +284,7 @@ sub _us () { sub failmsg { my $s = "error: @_\n"; - $s =~ s/\n\n$/\n/; + $s =~ s/\n\n$/\n/g; my $prefix = _us().": "; $s =~ s/^/$prefix/gm; return "\n".$s;