bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unset array doesn't work


From: Robert Elz
Subject: Re: Unset array doesn't work
Date: Wed, 28 Feb 2018 03:49:41 +0700

    Date:        Tue, 27 Feb 2018 11:18:40 -0500
    From:        Chet Ramey <chet.ramey@case.edu>
    Message-ID:  <21679c48-4064-5683-2d5f-91bfb76687d0@case.edu>

  | It doesn't. Run the following script:

OK, that looks good.  But now I am very confused.

  | You'll see that the first expansion of `$var' uses the local value of IFS,
  | the second expansion uses the default value of $' \t\n', and the global
  | value doesn't change (or get unset) outside the function.

Yes, and I was never expecting the global to be changed (that is, in this,
I didn't imagine that as a possibility).

  | The objection was that the global or previous-scope value didn't get unset
  | when using the `unset' builtin; only in the local scope was it unset.

I was in e-mail catchup mode, I am not sure I even saw the original, but I
do tend to read your messages, and what you said (12 Feb) was ...

  |  The visibility of a local variable is restricted to a function and its
  | children,

That's fine.

  | and `unset' removes the currently-visible instance.

as is that,  at least if "removes" is interpreted in one way (which the
script you sent suggests is correct).

But:

  | Removing such an instance can `unconver' an instance in a previous scope.

What's that?

That;s not what the script shows happening, the global IFS was not
"uncovered" (whatever that means). 

It was that sentence that caused my reply.

Since it does not seem to mean what I thought it meant, perhaps you could
say what it did mean?

kre




reply via email to

[Prev in Thread] Current Thread [Next in Thread]