On Fri, Mar 1, 2024 at 11:29 PM Bart Schaefer wrote: > > How about this: Instead of magically turning a positional into a > reference into the surrounding scope, let's make it explicit. Here's a patch to implement this, including doc with an example. Of particular note is the last sentence here: +To force a named reference to refer to the outer scope, even if a local +has already been declared, add the tt(-u) option when declaring the +named reference. In this case var(rname) should already exist in the +outer scope, otherwise the behavior of assignment through var(pname) +is not defined and may change the scope of the reference or fail with +a status of 1. I went with assignment silently failing rather than printing an error message in the cases where a parameter in the calling scope cannot be created.