From c335b7f0a11d8af8035fc49a743d9dea92766342 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Wed, 25 Apr 2012 09:31:57 +0000 Subject: 30455: remove max array length test --- NEWS | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 804f3abf8..23097b6aa 100644 --- a/NEWS +++ b/NEWS @@ -52,31 +52,38 @@ Expansion (parameters, globbing, etc.) and redirection This is useful for expanding paths with many variable components as commonly found in software development. -- Parameter expansion has the ${NAME:OFFSET} and ${NAME:OFFSET:LENGTH} +- Parameter substitution has the ${NAME:OFFSET} and ${NAME:OFFSET:LENGTH} syntax for compatibility with other shells (and zero-based indexing is used to enhance compatibility). LENGTH may be negative to count from the end. -- The parameter expansion flag (D) abbreviates directories in parameters +- The arbitrary limit on parameter subscripts (262144) has been removed. + As it was not configurable and tested in an inconvenient place it + was deemed preferable to remove it completely. The limit was originally + introduced to prevent accidental creation of a large parameter array + by typos that generated assignments along the lines of "12345678=0". + The general advice is not to do that. + +- The parameter substitution flag (D) abbreviates directories in parameters using the familiar ~ form. -- The parameter expansion flag (g) can take delimited arguments o, e and +- The parameter substitution flag (g) can take delimited arguments o, e and c to provide echo- and print-style expansion: (g::) provides basic echo-style expansion; (g:e:) provides the extended capabilities of print; (g:o:) provides octal escapes without a leading zero; (g:c:) additionally expands "^c" style control characters as for bindkey. Options may be combined, e.g. (g:eoc:). -- The parameter expansion flag (m) indicates that string lengths used +- The parameter substitution flag (m) indicates that string lengths used calculated by the (l) and (r) flags or the # operator should take account of the printing width of characters in multibyte mode, whether 0, 1 or more. (mm) causes printing characters to count as 1 and non-printing chracters to count as 0. -- The parameter expansion flag (q-) picks the most minimal way of +- The parameter substitution flag (q-) picks the most minimal way of quoting the parameter words, to make the result as readable as possible. -- The parameter expansion flag (Z), a variant of (z), takes arguments +- The parameter substitution flag (Z), a variant of (z), takes arguments describing how to split a variable using shell syntax: (Z:c:) parses comments as strings (the default is not to treat comment characters specially); (Z:C:) parses comments and strips them; (Z:n:) treats -- cgit 1.4.1