From a9b579a9d3921c4d843be7a52faeb8a3f3f6c35e Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 8 Aug 2017 19:04:49 +0100 Subject: Revert "41499 (with one further tweak): POSIX_STRINGS behaviour." This reverts commit 2eacbef91913fe967335812900d43cf2edfa54d9. Conflicts: ChangeLog --- Doc/Zsh/options.yo | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) (limited to 'Doc') diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo index 36bd939ad..70092d681 100644 --- a/Doc/Zsh/options.yo +++ b/Doc/Zsh/options.yo @@ -2193,16 +2193,16 @@ cindex(discarding embedded nulls in $'...') cindex(embedded nulls, in $'...') cindex(nulls, embedded in $'...') item(tt(POSIX_STRINGS) )( -This option affects processing of quoted strings, and also -splitting of strngs. +This option affects processing of quoted strings. Currently it only +affects the behaviour of null characters, i.e. character 0 in the +portable character set corresponding to US ASCII. -When this option is not set, null characters (character 0 in the -portable character set coresponding to US ASCII) that are embedded -within strings of the form tt($')var(...)tt(') are treated as ordinary -characters. The entire string is maintained within the shell and output -to files where necessary, although owing to restrictions of the library -interface the string is truncated at the null character in file names, -environment variables, or in arguments to external programs. +When this option is not set, null characters embedded within strings +of the form tt($')var(...)tt(') are treated as ordinary characters. The +entire string is maintained within the shell and output to files where +necessary, although owing to restrictions of the library interface +the string is truncated at the null character in file names, environment +variables, or in arguments to external programs. When this option is set, the tt($')var(...)tt(') expression is truncated at the null character. Note that remaining parts of the same string @@ -2211,18 +2211,6 @@ beyond the termination of the quotes are not truncated. For example, the command line argument tt(a$'b\0c'd) is treated with the option off as the characters tt(a), tt(b), null, tt(c), tt(d), and with the option on as the characters tt(a), tt(b), tt(d). - -Furthermore, when the option is set, a trailing separator followed by an -empty strings does not cause extra fields to be produced when the string -is split. For example, - -example(var="foo bar " -print -l "${=var}") - -outputs a blank line at the end if tt(POSIXSTRINGS) is not set, but -no blank line if the option is set. Note that empty elements would in -any case be removed if quotation marks were not used. If the separator -is not white space, only the final separator is ignored in this fashion. ) pindex(POSIX_TRAPS) pindex(NO_POSIX_TRAPS) -- cgit 1.4.1