Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Change in FIGNORE behavior

On Jun 4, 10:49am, Peter Stephenson wrote:
} Subject: Re: Change in FIGNORE behavior
} > +On failure the empty string is returned for a single match; any
} > +time a valid subscript is needed (for example, on an assignment
} > +to a failed element, or in a subscript range) the subscript is
} > +treated as the location of the first element.
} Any strong reaction to this further change for (R)? I'm tempted to put
} it in in the hope it's the best of a bad job.

I confess I have not yet had a chance to really even think about it.

I seem to recall a previous conversation on this subject in which the
former behavior (prior to 23440) was as it was so that both (R) and
${array[$array[(I)pattern]}} would return the same result.

} I think the ideal case would be that a failed (R) returned an index off the
} beginning of the array.

That would be ideal for (I) as well, and in the absence of KSH_ARRAYS it
would sort of be possible.  Maybe what we need is (sigh) yet another flag
that controls the behavior of index zero.

Given such a flag (and possibly even without it), we could make it an
error to assign to array[0] (treat it as an invalid identifier) when the
KSH_ARRAYS option is not in effect.  When KSH_ARRAYS *is* in effect, you
already have to jump through hoops to figure out what it means for (I)
to return zero, so one is really no worse off in that case.

Messages sorted by: Reverse Date, Date, Thread, Author