summaryrefslogtreecommitdiff
path: root/Debian
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-11 10:52:58 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-11 11:38:39 +0100
commit3627acb401427824068b9d66011ee92aa16b3ad7 (patch)
tree816a4f8bc56b37c6b8ad07492f71f2f4a735e3ea /Debian
parent8047fa8b32e744b4033cdbe451108fdb2ea0e505 (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.pm12
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 ($) {