patch 7.4.1143
Problem: Can't sort on floating point numbers.
Solution: Add the "f" flag to ":sort". (Alex Jakushev) Also add the "f"
flag to sort().
diff --git a/src/testdir/test57.in b/src/testdir/test57.in
index 0bb95ad..5f23535 100644
--- a/src/testdir/test57.in
+++ b/src/testdir/test57.in
@@ -32,6 +32,7 @@
:/^t27:/+1,/^t28/-1sort no
:/^t28:/+1,/^t29/-1sort b
:/^t29:/+1,/^t30/-1sort b
+:/^t30:/+1,/^t31/-1sort f
:/^t01:/,$wq! test.out
ENDTEST
@@ -496,9 +497,9 @@
b322b
b321
b321b
+
+
t28: binary
-
-
0b111000
0b101100
0b101001
@@ -513,9 +514,9 @@
0b100010
0b100100
0b100010
+
+
t29: binary with leading characters
-
-
0b100010
0b010000
0b101001
@@ -530,4 +531,15 @@
0b101010
0b000000
b0b111000
-t30: done
+
+
+t30: float
+1.234
+0.88
+123.456
+1.15e-6
+-1.1e3
+-1.01e3
+
+
+t31: done
diff --git a/src/testdir/test57.ok b/src/testdir/test57.ok
index 2ac5e59..452acf1 100644
--- a/src/testdir/test57.ok
+++ b/src/testdir/test57.ok
@@ -453,6 +453,8 @@
b322b
b321
b321b
+
+
t28: binary
@@ -487,4 +489,13 @@
0b101010
b0b101100
b0b111000
-t30: done
+t30: float
+
+
+-1.1e3
+-1.01e3
+1.15e-6
+0.88
+1.234
+123.456
+t31: done
diff --git a/src/testdir/test_sort.vim b/src/testdir/test_sort.vim
index 30dd167..32ad7f8 100644
--- a/src/testdir/test_sort.vim
+++ b/src/testdir/test_sort.vim
@@ -17,3 +17,7 @@
call assert_equal([3, 13, 28], sort([13, 28, 3], 'N'))
call assert_equal(['3', '13', '28'], sort(['13', '28', '3'], 'N'))
endfunc
+
+func Test_sort_float()
+ call assert_equal([0.28, 3, 13.5], sort([13.5, 0.28, 3], 'f'))
+endfunc