summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xhistory.txt1
-rw-r--r--threads.js10
2 files changed, 9 insertions, 2 deletions
diff --git a/history.txt b/history.txt
index fed4d3e..04c5949 100755
--- a/history.txt
+++ b/history.txt
@@ -2025,3 +2025,4 @@ ______
* Threads: handle text comparisons case-insensitive (again)
* Lists: harmonize equality testing and List CONTAINS testing
* French translation update, thanks, Martin!
+* Threads: fixed #261 (less tolerant null-value-to-number-coercion)
diff --git a/threads.js b/threads.js
index 727aedf..9727e18 100644
--- a/threads.js
+++ b/threads.js
@@ -98,9 +98,15 @@ function snapEquals(a, b) {
}
return false;
}
+
var x = +a,
- y = +b;
- if (isNaN(x) || isNaN(y)) {
+ y = +b,
+ specials = [true, false, '', 0];
+
+ // check for special values before coercing to numbers
+ if (isNaN(x) || isNaN(y) ||
+ [a, b].some(function (any) {return contains(specials, any) ||
+ (any.indexOf(' ') > -1); })) {
x = a;
y = b;
}