summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Bréchemier <eric@egull.co>2017-11-29 18:26:56 +0100
committerNico Williams <nico@cryptonector.com>2017-11-29 11:46:08 -0600
commit476b36770d933738130880bc6f30751cdf880aed (patch)
treefdc3dfb9cbcb79daa87f20304d85e609d49dfa0e
parent239278fd3a02dc1ae0521a7a57d573dbf977b2d9 (diff)
Keep object keys in parsing order in `tostream` output
As noted by @nicowilliams, `tostream` used `keys`, which sorts the keys in alphabetical order, instead of `keys_unsorted`, which preserves the parsing order. Fixes #1541.
-rw-r--r--AUTHORS1
-rw-r--r--src/builtin.jq2
2 files changed, 2 insertions, 1 deletions
diff --git a/AUTHORS b/AUTHORS
index e64a2358..65d6f583 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -24,6 +24,7 @@ David R. MacIver <david@drmaciver.com> - bug fixes
David Tolnay <dtolnay@gmail.com> - destructuring, build improvements
Doug Luce <doug@github.con.com> - build
Eiichi Sato <sato.eiichi@gmail.com>
+Eric Bréchemier <eric@egull.co> - bug fix
Filippo Giunchedi <fgiunchedi@gmail.com> - bug fixes
Filippo Valsorda <filippo.valsorda@gmail.com> - recursive object merge (`*`)
Hanfei Shen <qqshfox@gmail.com>
diff --git a/src/builtin.jq b/src/builtin.jq
index 9c543a93..b0e8775a 100644
--- a/src/builtin.jq
+++ b/src/builtin.jq
@@ -237,7 +237,7 @@ def tostream:
else
# We really need a _streaming_ form of `keys`.
# We can use `range` for arrays, but not for objects.
- keys as $keys |
+ keys_unsorted as $keys |
$keys[-1] as $last|
((# for each key
$keys[] | . as $key |