summaryrefslogtreecommitdiff
path: root/bin/autom4te.in
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2010-09-20 15:00:28 -0600
committerEric Blake <eblake@redhat.com>2010-09-20 16:01:16 -0600
commitde858e701fe75a7254ef708688ce8fec90945278 (patch)
tree9660b369903c8800982c37ac0a283de2f4afe2e5 /bin/autom4te.in
parent842807af6ce5c76234cea111157fa65b95751bdb (diff)
downloadautoconf-de858e701fe75a7254ef708688ce8fec90945278.tar.gz
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. * lib/m4sugar/m4sugar.m4 (_m4_warn): Document the conventions. * tests/m4sugar.at (m4@&t@_warn): Enhance test to catch this. Reported by Bruno Haible. Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'bin/autom4te.in')
-rw-r--r--bin/autom4te.in7
1 files changed, 5 insertions, 2 deletions
diff --git a/bin/autom4te.in b/bin/autom4te.in
index e1d40e3c..e54aa080 100644
--- a/bin/autom4te.in
+++ b/bin/autom4te.in
@@ -1021,12 +1021,15 @@ for (split (/\n*$separator\n*/o, contents ("$tmp/warnings")))
# | input.as:2: bar is expanded from...
# | input.as:3: foo is expanded from...
# | input.as:5: the top level
+ # In particular, m4_warn guarantees that either $stackdump is empty, or
+ # it consists of lines where only the last line ends in "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;
}
}