aboutsummaryrefslogtreecommitdiff
path: root/old-tests/variable/override
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-12-02 15:34:53 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-12-02 15:38:09 +0200
commit649d388ff422a9a049e2b50768db357a73ee59d5 (patch)
tree96d7acb53c56cf589d611f41aa15edd7a3cca4a0 /old-tests/variable/override
parentaf55babfc0c01abbd0a074b0d2ed86598d6bf628 (diff)
Fail if scope or target qualification in variable expansion is unknown
There are three options here: we can "fall through" to an outer scope (there is always the global scope backstop; this is the old semantics, sort of), we can return NULL straight away, or we can fail. It feels like in most cases unknown scope or target is a mistake and doing anything other than failing is just making things harder to debug.
Diffstat (limited to 'old-tests/variable/override')
-rw-r--r--old-tests/variable/override/buildfile4
-rw-r--r--old-tests/variable/override/p/buildfile2
2 files changed, 6 insertions, 0 deletions
diff --git a/old-tests/variable/override/buildfile b/old-tests/variable/override/buildfile
index 87dc273..c0330cb 100644
--- a/old-tests/variable/override/buildfile
+++ b/old-tests/variable/override/buildfile
@@ -3,6 +3,8 @@ if ($p.t != [null])
[$p.t] p.v = [null]
}
+/:
+
print "/ :" $(/: p.v)
if ($p.a == as)
@@ -22,6 +24,8 @@ print ". :" $p.v
d/
{
+ file{t}:
+
if ($p.d_a == as)
{
p.v = x
diff --git a/old-tests/variable/override/p/buildfile b/old-tests/variable/override/p/buildfile
index 166d869..8f4df28 100644
--- a/old-tests/variable/override/p/buildfile
+++ b/old-tests/variable/override/p/buildfile
@@ -15,6 +15,8 @@ print "p :" $p.v
d/
{
+ file{t}:
+
if ($p.p_d_a == as)
{
p.v = x