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:
parent
cb596a55d9
commit
2b08d0ed67
5 changed files with 24 additions and 5 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue