1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-28 17:10:59 +01:00

35318: POSIX_BUILTINS behaviour for getopts.

It needs to keep OPTIND, as well as the index within the
string pointed to by OPTIND, global in this case.
This commit is contained in:
Peter Stephenson 2015-05-28 18:32:39 +01:00
parent cb596a55d9
commit 2b08d0ed67
5 changed files with 24 additions and 5 deletions

View file

@ -866,7 +866,8 @@ vindex(OPTARG, use of)
The first option to be examined may be changed by explicitly assigning
to tt(OPTIND). tt(OPTIND) has an initial value of tt(1), and is
normally reset to tt(1) upon exit from a shell function. tt(OPTARG)
normally set to tt(1) upon entry to a shell function and restored
upon exit (this is disabled by the tt(POSIX_BUILTINS) option). tt(OPTARG)
is not reset and retains its value from the most recent call to
tt(getopts). If either of tt(OPTIND) or tt(OPTARG) is explicitly
unset, it remains unset, and the index or option argument is not

View file

@ -2038,6 +2038,10 @@ tt(unset).
In addition, various error conditions associated with the above builtins
or tt(exec) cause a non-interactive shell to exit and an interactive
shell to return to its top-level processing.
Furthermore, the tt(getopts) builtin behaves in a POSIX-compatible
fashion in that the associated variable tt(OPTIND) is not made
local to functions.
)
pindex(POSIX_IDENTIFIERS)
pindex(NO_POSIX_IDENTIFIERS)