summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2014-07-07 03:43:57 -0400
committerPaul Smith <psmith@gnu.org>2014-07-07 03:43:57 -0400
commit55c00544cc2ae2a91471d3ffdc3ca1974061387a (patch)
tree2186ada60b4a8b4a1e92d025ef9636544cab3f9e
parent8d577c2ff43d4808cd5a3754dcfd04549b086044 (diff)
downloadgunmake-55c00544cc2ae2a91471d3ffdc3ca1974061387a.tar.gz
* read.c (eval): [SV 41677] Correct test for TAB vs. 8 spaces.
-rw-r--r--read.c2
-rw-r--r--tests/scripts/variables/special24
2 files changed, 25 insertions, 1 deletions
diff --git a/read.c b/read.c
index 1fe229b..fe33ab2 100644
--- a/read.c
+++ b/read.c
@@ -1123,7 +1123,7 @@ eval (struct ebuffer *ebuf, int set_default)
/* There's no need to be ivory-tower about this: check for
one of the most common bugs found in makefiles... */
- if (cmd_prefix == '\t' && !strneq (line, " ", 8))
+ if (cmd_prefix == '\t' && strneq (line, " ", 8))
O (fatal, fstart, _("missing separator (did you mean TAB instead of 8 spaces?)"));
else
O (fatal, fstart, _("missing separator"));
diff --git a/tests/scripts/variables/special b/tests/scripts/variables/special
index 4637b2a..a5ab93a 100644
--- a/tests/scripts/variables/special
+++ b/tests/scripts/variables/special
@@ -114,4 +114,28 @@ reset-four \
: foo-three
: foo-four');
+# Test that the "did you mean TAB" message is printed properly
+
+run_make_test(q!
+$x.
+!,
+ '', '#MAKEFILE#:2: *** missing separator. Stop.', 512);
+
+run_make_test(q!
+foo:
+ bar
+!,
+ '', '#MAKEFILE#:3: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.', 512);
+
+run_make_test(q!
+.RECIPEPREFIX = :
+foo:
+ bar
+!,
+ '', '#MAKEFILE#:4: *** missing separator. Stop.', 512);
+
1;
+
+### Local Variables:
+### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action))
+### End: