]> sourceware.org Git - automake.git/commitdiff
* automake.in (macro_define): Do not strip escaped new lines
authorAlexandre Duret-Lutz <adl@gnu.org>
Tue, 3 Dec 2002 20:39:40 +0000 (20:39 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Tue, 3 Dec 2002 20:39:40 +0000 (20:39 +0000)
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.

ChangeLog
automake.in
tests/Makefile.am
tests/pluseq10.test [new file with mode: 0755]

index 780dddb1937e6c4162fac4eecbc74944412c7baa..eb9407a91363edca574ea3d5986331000e500e0a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2002-12-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       * 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  <cwilson@ece.gatech.edu>
 
        * tests/gnits3.test (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT):
index 7f3efc4815abd2994eab78a0fb85b61d2533f887..b50868a7da50b2f901b5504eefc5c17e0f92672b 100755 (executable)
@@ -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;
index afa1c802aba24daf1413d65d0f392cbc75b9384d..7199dfcc6e4e0a9a4dbfe8fa2627ce527c8265cd 100644 (file)
@@ -297,6 +297,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 (executable)
index 0000000..42a7116
--- /dev/null
@@ -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 <<EOF
+AM_CONDITIONAL(A, true)
+AM_CONDITIONAL(B, false)
+AC_OUTPUT
+EOF
+
+cat > 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
This page took 0.044545 seconds and 5 git commands to generate.