diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-08-11 10:52:58 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-08-11 11:38:39 +0100 |
commit | 3627acb401427824068b9d66011ee92aa16b3ad7 (patch) | |
tree | 816a4f8bc56b37c6b8ad07492f71f2f4a735e3ea /Debian | |
parent | 8047fa8b32e744b4033cdbe451108fdb2ea0e505 (diff) |
Dgit.pm: printdebug: Selectively print $debugprefix, and add a doc
Remember whether the last printdebug ended in a \n. If it didn't,
suppress printing the next newline.
I don't think anywhere calls printdebug without @_ right now.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'Debian')
-rw-r--r-- | Debian/Dgit.pm | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index 3d517e1..34e40a3 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -159,11 +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 ($) { |