From ac8acc7b05774ac5777d5a03311728fb14d3f217 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Wed, 11 May 2016 19:28:29 -0700 Subject: 2954 - bugfix: $system The actual fix is in the layer rewriting literal strings. --- 029tools.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to '029tools.cc') diff --git a/029tools.cc b/029tools.cc index faab1eb0..364c6260 100644 --- a/029tools.cc +++ b/029tools.cc @@ -273,9 +273,12 @@ put(Recipe_ordinal, "$system", _SYSTEM); :(before "End Primitive Recipe Checks") case _SYSTEM: { if (SIZE(inst.ingredients) != 1) { - raise << maybe(get(Recipe, r).name) << "'$system' requires exactly one ingredient, but got none\n" << end(); + raise << maybe(get(Recipe, r).name) << "'$system' requires exactly one ingredient, but got " << to_string(inst) << '\n' << end(); break; } + if (!is_literal_string(inst.ingredients.at(0))) { + raise << maybe(get(Recipe, r).name) << "ingredient to '$system' must be a literal text, but got " << to_string(inst) << '\n' << end(); + } break; } :(before "End Primitive Recipe Implementations") -- cgit 1.4.1-2-gfad0