about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Doc/Zsh/builtins.yo9
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b22267c78..a721833c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-08-18  Peter Stephenson  <p.w.stephenson@ntlworld.com>
+
+	* 23778: Doc/Zsh/builtins.yo: document KSH_TYPESET behaviour
+	in the typeset manual entry.
+
 2007-08-18  Clint Adams  <clint@zsh.org>
 
 	* 23775: Completion/Unix/Command/_growisofs:
diff --git a/Doc/Zsh/builtins.yo b/Doc/Zsh/builtins.yo
index 5eb71adb1..413e43ed8 100644
--- a/Doc/Zsh/builtins.yo
+++ b/Doc/Zsh/builtins.yo
@@ -1331,7 +1331,14 @@ retain their special attributes when made local.
 
 For each var(name)tt(=)var(value) assignment, the parameter
 var(name) is set to var(value).  Note that arrays currently cannot be
-assigned in tt(typeset) expressions, only scalars and integers.
+assigned in tt(typeset) expressions, only scalars and integers.  Unless
+the option tt(KSH_TYPESET) is set, normal expansion rules apply to
+assignment arguments, so var(value) may be split into separate words; if
+the option is set, assignments which can be recognised when expansion is
+performed are treated as single words.  For example the command
+tt(typeset vbl=$(echo one two)) is treated as having one argument if
+tt(KSH_TYPESET) is set, but otherwise is treated as having the two arguments
+tt(vbl=one) and tt(two).
 
 If the shell option tt(TYPESET_SILENT) is not set, for each remaining
 var(name) that refers to a parameter that is set, the name and value of the