X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=Debian%2FDgit.pm;h=34e40a3b0ab684327533e868de48e95f7d4d241e;hp=df6dbfb3272b894965c32fa55ac9238e9c9a2c7f;hb=cb5a33d8508c3b83a2bb776e567d8cd2d1a6e50d;hpb=fa1467e5d28412c0ca7fdd8c6d4a9548677e27e2 diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index df6dbfb3..34e40a3b 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -159,8 +159,21 @@ sub enabledebuglevel ($) { } sub printdebug { - print DEBUG $debugprefix, @_ or die $! - if $debuglevel >= $printdebug_when_debuglevel; + # 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; + 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 ($) {