[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: incomplete warning message
From: |
Eric Blake |
Subject: |
Re: incomplete warning message |
Date: |
Mon, 20 Sep 2010 14:36:00 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100907 Fedora/3.1.3-1.fc13 Mnenhy/0.8.3 Thunderbird/3.1.3 |
On 09/20/2010 02:14 PM, Eric Blake wrote:
However, my perl is rather weak, so I'm not sure if I can quickly
correct it. Help would be appreciated.
Hmm, reading lib/Autom4te/Channels.pm is proving to be enlightening:
> Maybe the solution is just to teach autom4te that warning outputs
> consist of partial messages.
>
Does this look sane? Since my perl is weak, are there any suggestions
on more robust ways to express this action? I'm also working on a
testsuite addition, to make sure we don't regress in the future.
diff --git i/ChangeLog w/ChangeLog
index 458343f..c2ae56b 100644
--- i/ChangeLog
+++ w/ChangeLog
@@ -1,3 +1,10 @@
+2010-09-20 Eric Blake <address@hidden>
+
+ autom4te: don't filter out portions of location traces
+ * bin/autom4te.in (_m4_warn): Pass warnings through the channels
+ machinery as a single chunk, to avoid partial filtering.
+ Reported by Bruno Haible.
+
2010-09-17 Eric Blake <address@hidden>
build: support autobuild
diff --git i/bin/autom4te.in w/bin/autom4te.in
index e1d40e3..e7afb6c 100644
--- i/bin/autom4te.in
+++ w/bin/autom4te.in
@@ -1022,11 +1022,11 @@ for (split (/\n*$separator\n*/o, contents
("$tmp/warnings")))
# | input.as:3: foo is expanded from...
# | input.as:5: the top level
my ($cat, $loc, $msg, $stacktrace) = split ('::', $_, 4);
- msg $cat, $loc, "warning: $msg";
+ msg $cat, $loc, "warning: $msg", partial => ($stacktrace =~ /top
level/) + 0;
for (split /\n/, $stacktrace)
{
my ($loc, $trace) = split (': ', $_, 2);
- msg $cat, $loc, $trace;
+ msg $cat, $loc, $trace, partial => ($trace !~ /top level/) + 0;
}
}
--
Eric Blake address@hidden +1-801-349-2682
Libvirt virtualization library http://libvirt.org