On 2/28/18 3:00 PM, Greg Wooledge wrote:

> Does unset create some kind of "placeholder" in the current function
> (but not in a caller)?

Yes, that's what I said. In the current scope, unset arranges for the
variable to appear unset. In a previous scope, unset just removes the
variable, which uncovers an instance of the variable at a (further)
previous scope.

It looks like I added that code in 1995. The code before that was "pure"
dynamic scoping, in the sense that it just removed the variable and
`uncovered' a previous scope's value no matter where the variable was
declared. It seems like I added the special case for several reasons,
but there's no indication of widespread user complaint about the behavior
of `unset'. (Of course, that was a long time ago.)

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    c...@case.edu    http://tiswww.cwru.edu/~chet/

Reply via email to