[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [BUG] 'unset' fails silently under specific conditions
From: |
Chet Ramey |
Subject: |
Re: [BUG] 'unset' fails silently under specific conditions |
Date: |
Tue, 1 May 2018 21:20:42 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
On 5/1/18 6:27 PM, Martijn Dekker wrote:
> Op 01-05-18 om 19:36 schreef Chet Ramey:
>> OK, so which is it? Does an assignment statement preceding a special
>> builtin in a shell function create a local variable (as we discussed
>> just yesterday)
>
> Huh? That was about 'typeset'/'declare'. How is that relevant here?
Do you really not remember? Let's roll tape.
You complained that `typeset +x' didn't `unexport' a variable. The reason
is that the variable assignment preceding the special builtin caused a
variable to be created at the global scope, and the `typeset' resulted in
a local variable being created. The upshot of that discussion was that in
order to implement the semantics you said you wanted at the time,
>
>> or does it create a global variable because `Posix'?
>
> Yes. POSIX does not specify local variables at all, and even in a bash
> context I see nothing there to indicate that it should be local.
Maybe in Posix mode. It's true that Posix doesn't specify local
variables, and I made that same point yesterday, but I can see where
an assignment statement preceding a special builtin can create a
variable at the same context.
> The possibility that 'foo=bar :' might create a variable 'foo' that
> survives the ':' command, is exported, *and* is local to the function,
> hadn't occurred to me at all. POSIX is pretty strange sometimes but not
> *this* strange.
It would have had to to satisfy the semantics of your report from a
couple of days ago, and, as I said in my message yesterday, I ultimately
implemented those semantics.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
- [BUG] 'unset' fails silently under specific conditions, Martijn Dekker, 2018/05/01
- Re: [BUG] 'unset' fails silently under specific conditions, Martijn Dekker, 2018/05/01
- Re: [BUG] 'unset' fails silently under specific conditions, Chet Ramey, 2018/05/01
- Re: [BUG] 'unset' fails silently under specific conditions, Martijn Dekker, 2018/05/01
- Re: [BUG] 'unset' fails silently under specific conditions,
Chet Ramey <=
- Re: [BUG] 'unset' fails silently under specific conditions, Martijn Dekker, 2018/05/02
- Re: [BUG] 'unset' fails silently under specific conditions, Greg Wooledge, 2018/05/02
- Re: [BUG] 'unset' fails silently under specific conditions, Greg Wooledge, 2018/05/02
- Re: [BUG] 'unset' fails silently under specific conditions, Martijn Dekker, 2018/05/02
- Re: [BUG] 'unset' fails silently under specific conditions, Chet Ramey, 2018/05/02
Re: [BUG] 'unset' fails silently under specific conditions, Robert Elz, 2018/05/01