In the documentation of string() function it is written that ``if {expr} is a
Number, Float, String or a composition of them, then the result can be parsed
back with eval()'' which is not true: special Float values: ``inf'', ``-inf''
and ``nan'' are not parsed back by eval unless there are variables with names
``inf'' and ``nan'' that have appropriate values. I think this should be at
least mentioned in documentation, like I have done in attached patch.
# HG changeset patch # User ZyX <[email protected]> # Date 1282568524 -14400 # Node ID a8029f4ea5a4ca85e7a7a21f13c288ff9ea8a27b # Parent 073ff46fe397220b4c3946a8f4b349e8d8578a65 Added note about string() nan and inf handling
diff -r 073ff46fe397 -r a8029f4ea5a4 runtime/doc/eval.txt
--- a/runtime/doc/eval.txt Fri Aug 20 11:11:57 2010 +0200
+++ b/runtime/doc/eval.txt Mon Aug 23 17:02:04 2010 +0400
@@ -5442,6 +5442,9 @@
List [item, item]
Dictionary {key: value, key: value}
Note that in String values the ' character is doubled.
+ You should also remember that special Float values like inf
+ (infinity) and nan (not a number) are considered to be
+ variable names and so cannot be parsed back.
Also see |strtrans()|.
*strlen()*
signature.asc
Description: This is a digitally signed message part.
