From: Alexandre Duret-Lutz Date: Tue, 3 Dec 2002 20:41:48 +0000 (+0000) Subject: * automake.in (macro_define): Do not strip escaped new lines X-Git-Tag: Release-1-7-2b~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5e15d529a6f1d5aec579be8fc0f0741fc564a7f;p=thirdparty%2Fautomake.git * automake.in (macro_define): Do not strip escaped new lines in Automake's +='ed variables. We don't know whether it will be pretty printed or not at this point. (variable_pretty_output): Do this here. * tests/pluseq10.test: New file. * tests/Makefile.am (TESTS): Add pluseq10.test. Reported by Ralf Corsepius. --- diff --git a/ChangeLog b/ChangeLog index 780dddb19..eb9407a91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2002-12-03 Alexandre Duret-Lutz + + * automake.in (macro_define): Do not strip escaped new lines + in Automake's +='ed variables. We don't know whether it will + be pretty printed or not at this point. + (variable_pretty_output): Do this here. + * tests/pluseq10.test: New file. + * tests/Makefile.am (TESTS): Add pluseq10.test. + Reported by Ralf Corsepius. + 2002-12-02 Charles Wilson * tests/gnits3.test (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): diff --git a/automake.in b/automake.in index 7f3efc481..b50868a7d 100755 --- a/automake.in +++ b/automake.in @@ -6285,11 +6285,6 @@ sub macro_define ($$$$$$) } $var_type{$var}{$cond} = $type; - # When adding, since we rewrite, don't try to preserve the - # Automake continuation backslashes. - $value =~ s/\\$//mg - if $type eq '+' && $owner == VAR_AUTOMAKE; - # Differentiate assignment types. # 1. append (+=) to a variable defined for current condition @@ -7134,6 +7129,10 @@ sub variable_pretty_output ($@) $output_vars .= $var_comment{$var}{$cond}; } + # Suppress escaped new lines. &pretty_print_internal will + # add them back, maybe at other places. + $val =~ s/\\$//mg; + my $val = $var_value{$var}{$cond}; my $equals = $var_type{$var}{$cond} eq ':' ? ':=' : '='; my $make_condition = $cond->subst_string; diff --git a/tests/Makefile.am b/tests/Makefile.am index afa1c802a..7199dfcc6 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -297,6 +297,7 @@ pluseq6.test \ pluseq7.test \ pluseq8.test \ pluseq9.test \ +pluseq10.test \ postproc.test \ ppf77.test \ pr2.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 11affd349..0ddbef490 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -391,6 +391,7 @@ pluseq6.test \ pluseq7.test \ pluseq8.test \ pluseq9.test \ +pluseq10.test \ postproc.test \ ppf77.test \ pr2.test \ diff --git a/tests/pluseq10.test b/tests/pluseq10.test new file mode 100755 index 000000000..42a71166b --- /dev/null +++ b/tests/pluseq10.test @@ -0,0 +1,57 @@ +#! /bin/sh +# Copyright (C) 2002 Free Software Foundation, Inc. +# +# This file is part of GNU Automake. +# +# GNU Automake is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# GNU Automake is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with autoconf; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Test for += and backslashes. +# Reported by Ralf Corsepius. + +. ./defs || exit 1 + +set -e + +cat >>configure.in < Makefile.am << 'END' +foo = 0.h +if A +foo += a0.h \ + a1.h +foo += a2.h \ + a3.h +endif +if B +foo += b0.h \ + b1.h +endif + +print: + @echo BEG: $(foo) :END +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE +./configure +$MAKE print >stdout +cat stdout +grep 'BEG: 0.h a0.h a1.h a2.h a3.h :END' stdout