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
commitc27823bc7ff90df28e1d3cae1c37f6b67749ec87 (patch)
tree2186ada60b4a8b4a1e92d025ef9636544cab3f9e
parentd849ef802e64b1e98a10520936be1f5b26ccee52 (diff)
downloadmake-c27823bc7ff90df28e1d3cae1c37f6b67749ec87.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 1fe229bb..fe33ab29 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 4637b2a2..a5ab93aa 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: