Nicolas Williams
845ad5e969
Fuzz JSON parser
2014-12-26 23:05:57 -06:00
Nicolas Williams
243b1f8e5e
Better quoting in tests/run
2014-12-26 23:05:56 -06:00
Nicolas Williams
5bfb9781f7
Add Streaming parser (--stream)
...
Streaming means that outputs are produced as soon as possible. With the
`foreach` syntax one can write programs which reduce portions of the
streaming parse of a large input (reduce into proper JSON values, for
example), and discard the rest, processing incrementally.
This:
$ jq -c --stream .
should produce the same output as this:
$ jq -c '. as $dot | path(..) as $p | $dot | getpath($p) | [$p,.]'
The output of `jq --stream .` should be a sequence of`[[<path>],<leaf>]`
and `[[<path>]]` values. The latter indicate that the array/object at
that path ended.
Scalars and empty arrays and objects are leaf values for this purpose.
For example, a truncated input produces a path as soon as possible, then
later the error:
$ printf '[0,\n'|./jq -c --stream .
[[0],0]
parse error: Unfinished JSON term at EOF at line 3, column 0
$
2014-12-26 23:05:56 -06:00
Nicolas Williams
906d2537b9
Allow C-coded functions to empty
...
Just return a jv_invalid() without a message.
2014-12-26 23:05:56 -06:00
Nicolas Williams
bbb287f54b
Add BLOCK_8() macro
2014-12-26 23:05:56 -06:00
Nicolas Williams
e51e916e31
Fix foreach non-progation of errors
...
Errors were being re-propagated as "break".
Also add `error/0` builtin, which made this fix easier.
2014-12-26 23:05:20 -06:00
Nicolas Williams
46e3125e26
Allow zero-length buffers in jv_parser_set_buf()
...
If the caller is at EOF and has no more bytes to feed the parser, how is
the parser to be told about the EOF condition? A small fix to allow
zero-length buffers in jv_parser_set_buf() fixes this problem (it also
makes it easier to deal with async I/O: feed the parser whatever is
available, including nothing).
2014-12-26 22:56:48 -06:00
Nicolas Williams
c02fcc8fef
Fix in and inside
2014-12-26 22:56:48 -06:00
Nico Williams
25d4cbd1b3
Merge pull request #624 from Janrain-Colin/patch-1
...
Doc correction
2014-12-26 22:14:17 -06:00
Nico Williams
3234a7681e
Merge pull request #366 from slapresta/inversed-contains
...
Added `in` command
2014-12-26 22:00:41 -06:00
Nico Williams
36077da66a
Merge pull request #628 from slapresta/map-on-objects
...
Modify map\1 so that it works on objects
2014-12-26 21:50:11 -06:00
Nicolas Williams
9e1fd8cf4d
Fix infinite loop in read_more() ( fix #656 )
2014-12-24 16:49:55 -06:00
Nicolas Williams
a55085b662
Fix EOF handling; fix #656
2014-12-24 16:07:36 -06:00
Nico Williams
e0f9b6a5cd
Merge pull request #651 from eiiches/fix-examples
...
Fix several errors in the manual
2014-12-24 11:29:29 -06:00
Nicolas Williams
0053aa868c
Add @tsv; fix #645
2014-12-24 11:21:18 -06:00
Nico Williams
fab2048648
Merge pull request #653 from msabramo/patch-1
...
.travis.yml: Set sudo false; use containers
2014-12-24 11:20:47 -06:00
Nicolas Williams
56ae88d9d5
Module search revamp for pkg managers
...
The search path listed in an import directive can now be an array. The
top-level search path is appended. Null and empty strings in the path
terminate any search. The "." in "." and "./*" is replaced with the
directory containing the file doing the import (for command-line
programs this is the current directory, though that may be a bad idea).
No version numbers or anything of the sort are gratuitously added to the
search paths.
All this makes external package managers possible by allowing
dependencies to be installed local to dependents.
2014-12-24 02:31:51 -06:00
Nicolas Williams
1cdcff1c01
Fix bug caused by 8ca07a0
2014-12-24 02:25:11 -06:00
Nicolas Williams
8ca07a08c3
Fix #348 : reject unescaped control chars
2014-12-24 00:01:43 -06:00
Nico Williams
2775b90b20
Merge pull request #601 from slapresta/redefine-any-all
...
Define {any,all}/0,1 in terms of {any,all}/2
2014-12-23 23:37:25 -06:00
Nicolas Williams
ae312bd7fe
Use __attribute__ __printf__ with GCC
2014-12-23 23:22:57 -06:00
Nicolas Williams
9017b83d4e
Make values faster ( fix #652 )
2014-12-23 23:22:57 -06:00
Nicolas Williams
02cf1831e9
Fix #649
2014-12-23 18:16:21 -06:00
Marc Abramowitz
d237de7b30
.travis.yml: Set sudo false; use containers
...
This is the way to enable Travis's fancy new containers, which should result in faster builds.
2014-12-22 21:37:23 -08:00
Santiago Lapresta
84d3203dd1
Define map_values
2014-12-22 23:05:35 +01:00
Santiago Lapresta
a3234034b5
in is now inside, added in as inverse of has
2014-12-22 22:17:53 +01:00
Santiago Lapresta
b748eae035
Added in command
2014-12-22 22:14:06 +01:00
Eiichi Sato
a6656edc7c
Fix examples in manual
2014-12-21 03:26:04 +09:00
Eiichi Sato
b4a9ea56ae
Fix indents in manual.yml
2014-12-21 03:24:45 +09:00
Eiichi Sato
fdbc91e3c4
HTML-escape jq programs in manual
2014-12-21 03:24:41 +09:00
Eiichi Sato
bd67bb8273
Fix examples in manual
2014-12-21 03:24:38 +09:00
Nico Williams
54a0470c42
Merge pull request #611 from StevenMaude/tutorial-typo-fixes
...
Fix typos in tutorial
2014-12-12 17:46:17 -06:00
Nico Williams
3dd790c408
Merge pull request #616 from ianmiell/ianmiell_requirements
...
Requirements made slightly more complete
2014-12-12 17:45:17 -06:00
Nicolas Williams
be11b2768f
Add until(cond; next); fix #639
2014-12-12 17:35:59 -06:00
Nicolas Williams
2075bec60f
Fix #647 , but caused by 89791a0
2014-12-12 17:05:16 -06:00
Nicolas Williams
44c2382402
Add --argjson, fix #648
2014-12-12 16:40:07 -06:00
Nico Williams
fd041c2064
Merge pull request #642 from Janrain-Colin/patch-3
...
fix typo in manual
2014-12-12 16:03:18 -06:00
Colin von Heuring
c6495f6632
fix typo in manual
2014-12-06 16:27:43 -08:00
Nicolas Williams
7243989c52
Fix refcount leak, fix #618
2014-11-29 15:24:43 -06:00
Nicolas Williams
46613af64c
STOREV/LOADV* should also print refcnts
2014-11-28 20:52:22 -06:00
Nicolas Williams
79000644c6
Enable printing of stack val refcnts
2014-11-28 19:35:29 -06:00
Nicolas Williams
b349e7d9a8
Print stack value refcounts when tracing ( #636 )
2014-11-28 19:26:41 -06:00
Colin von Heuring
6c8882caf3
Doc correction
2014-11-23 11:37:50 -08:00
William Langford
30e00820a7
Fix #600 . Add regression test
2014-11-12 20:46:34 -05:00
Ian Miell
0f81e1bcd0
Requirements made slightly more complete: cf https://github.com/ianmiell/shutit/blob/master/library/jq/jq.py
2014-11-11 23:02:31 +00:00
Steven Maude
cb376b27f8
Fix typos in tutorial
...
parrent > parent, url > URL
2014-11-05 10:47:37 +00:00
Santiago Lapresta
dc5e77ef8e
Define {any,all}/2 independently from {any,all}/0
2014-10-21 13:00:38 +02:00
Santiago Lapresta
72735167f9
Define {any,all}/{0,1} in terms of {any,all}/2
2014-10-20 22:01:25 +02:00
Nicolas Williams
89791a000b
Add support for JSON sequence MIME type
...
Per draft-ietf-json-text-sequence-07 (which soon will be published as an
RFC).
2014-10-12 08:44:40 -05:00
William Langford
3411167c03
Properly call onig_error_code_to_str
...
Fix #585
2014-10-06 21:48:56 -04:00