Date:        Tue, 27 Feb 2018 11:18:40 -0500
    From:        Chet Ramey <chet.ra...@case.edu>
    Message-ID:  <21679c48-4064-5683-2d5f-91bfb7668...@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