Hi,

The recently added ASSIGNMENT_PATTERN is a little too greedy.  Given

    FOO=-DBAR=baz

it incorrectly matches the macro name to be 'FOO=-DBAR' rather than
just 'FOO'.

Here's an obvious fix, and a possible testcase.

from  Raja R Harinath  <[EMAIL PROTECTED]>

	* automake.in (ASSIGNMENT_PATTERN): Make variable-name pattern 
	stop at the first '='.

Index: automake.in
===================================================================
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.1111
diff -u -p -u -r1.1111 automake.in
--- automake.in	2001/05/12 12:36:03	1.1111
+++ automake.in	2001/05/12 23:31:43
@@ -125,7 +125,7 @@ my $SUFFIX_RULE_PATTERN = '^\.([a-zA-Z0-
 # leading tabs here then we need to make the reader smarter, because
 # otherwise it will think rules like `foo=bar; \' are errors.
 my $MACRO_PATTERN = '^[A-Za-z0-9_@]+$';
-my $ASSIGNMENT_PATTERN = '^ *([^ \t]*)\s*([:+]?)=\s*(.*)$';
+my $ASSIGNMENT_PATTERN = '^ *([^ \t=]*)\s*([:+]?)=\s*(.*)$';
 # This pattern recognizes a Gnits version id and sets $1 if the
 # release is an alpha release.  We also allow a suffix which can be
 # used to extend the version number with a "fork" identifier.
#! /bin/sh

# Test various variable definitions that include an '=' sign

. $srcdir/defs || exit 1

cat > Makefile.am << 'END'
MY_FLAGS_1=-DABC=345
MY_FLAGS_2= -DABC=345
MY_FLAGS_3 =-DABC=345
MY_FLAGS_4 = -DABC=345
END

$AUTOMAKE || exit 1

exit 0

- Hari
-- 
Raja R Harinath ------------------------------ [EMAIL PROTECTED]
"When all else fails, read the instructions."      -- Cahn's Axiom
"Our policy is, when in doubt, do the right thing."   -- Roy L Ash

Reply via email to