diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2022-12-02 15:34:53 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2022-12-02 15:38:09 +0200 |
commit | 649d388ff422a9a049e2b50768db357a73ee59d5 (patch) | |
tree | 96d7acb53c56cf589d611f41aa15edd7a3cca4a0 /old-tests/variable/override | |
parent | af55babfc0c01abbd0a074b0d2ed86598d6bf628 (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/buildfile | 4 | ||||
-rw-r--r-- | old-tests/variable/override/p/buildfile | 2 |
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 |