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/