about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Doc/Zsh/arith.yo9
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b102fd466..89e92bb67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,9 @@
 
 2015-01-09  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
+	* 34194: Doc/Zsh/arith.yo: add paragraph about integer
+	promotion.
+
 	* 34189:  Src/Zle/compcore.c, Src/Zle/compctl.c,
 	Src/Zle/textobjects.c, Src/Zle/zle_tricky.c, Src/builtin.c,
 	Src/context.c, Src/exec.c, Src/hist.c, Src/init.c, Src/lex.c,
diff --git a/Doc/Zsh/arith.yo b/Doc/Zsh/arith.yo
index a620b73d1..5c334ce9c 100644
--- a/Doc/Zsh/arith.yo
+++ b/Doc/Zsh/arith.yo
@@ -233,6 +233,15 @@ necessary.  In addition, if any operator which requires an integer
 equivalents with assignment) is given a floating point argument, it will be
 silently rounded down to the next integer.
 
+Users should beware that, in common with many other programming
+languages but not software designed for calculation, the evaluation of
+an expression in zsh is taken a term at a time and promotion of integers
+to floating point does not occur in terms only containing integers.  A
+typical result of this is that a division such as tt(6/8) is truncated,
+in this being rounded down to 0.  The tt(FORCE_FLOAT) shell option can
+be used in scripts or functions where floating point evaluation is
+required throughout.
+
 Scalar variables can hold integer or floating point values at different
 times; there is no memory of the numeric type in this case.