about summary refs log tree commit diff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README11
1 files changed, 11 insertions, 0 deletions
diff --git a/README b/README
index 84a00706f..816c0819e 100644
--- a/README
+++ b/README
@@ -26,6 +26,17 @@ Possible incompatibilities
 
 Since 4.2:
 
+The option SH_WORD_SPLIT, used in Bourne/Korn/Posix shell compatibility
+mode, has been made more like other shells in the case of substitutions of
+the form ${1+"$@"} (a common trick used to work around problems in older
+Bourne shells) or any of the related forms with the + replaced by - or =
+with an optional colon following.  Previously, with SH_WORD_SPLIT in
+effect, this expression would cause splitting on all white space in the
+shell arguments.  (This was always regarded as a bug but was long-standing
+behaviour.)  Now it is treated identically to "$@".  The same change
+applies to expressions with forced splitting such as ${=1+"$@"}, but
+otherwise the case where SH_WORD_SPLIT is not set is unaffected.
+
 The "unset" builtin now does not regard the unsetting of non-existent
 variables as an error, so can still return status 0 (depending on the
 handling of other arguments).  This appears to be the standard shell