]>
granicus.if.org Git - jq/log
Nicolas Williams [Sat, 30 Aug 2014 05:58:24 +0000 (00:58 -0500)]
Drop the jq version directory from search path
Nicolas Williams [Sat, 30 Aug 2014 05:28:41 +0000 (00:28 -0500)]
Never close stdin; allow multiple `-` arguments
Nicolas Williams [Sat, 30 Aug 2014 05:27:26 +0000 (00:27 -0500)]
Handle invalid inputs in argument files (fix #562)
William Langford [Fri, 29 Aug 2014 01:51:33 +0000 (21:51 -0400)]
Properly handle incomplete json when input is file
Fix #562
Nicolas Williams [Thu, 21 Aug 2014 05:04:38 +0000 (00:04 -0500)]
C-coded builtins should not assert (fix #553)
Nicolas Williams [Thu, 21 Aug 2014 01:49:30 +0000 (20:49 -0500)]
Quiet warning about freopen() of stdout
Nicolas Williams [Thu, 21 Aug 2014 01:48:48 +0000 (20:48 -0500)]
Drop "any/" in module search; use 1.x-master
Nicolas Williams [Thu, 14 Aug 2014 08:31:25 +0000 (03:31 -0500)]
BSD sed lacks -r; fix #551
Nicolas Williams [Tue, 12 Aug 2014 05:51:51 +0000 (00:51 -0500)]
Document module system
Fix #511.
Nicolas Williams [Sun, 10 Aug 2014 21:52:03 +0000 (16:52 -0500)]
Add `module` directive, `modulemeta` builtin
Fix #425.
Nicolas Williams [Thu, 14 Aug 2014 08:03:59 +0000 (03:03 -0500)]
Add JV_OBJECT() macro
Nicolas Williams [Thu, 14 Aug 2014 08:07:20 +0000 (03:07 -0500)]
Add JV_ARRAY() macro
Nicolas Williams [Mon, 11 Aug 2014 22:25:09 +0000 (17:25 -0500)]
Add jq_report_error() function; use it
Put a stop to fprintf(stderr, ...) where we shouldn't.
Nicolas Williams [Mon, 11 Aug 2014 19:58:01 +0000 (14:58 -0500)]
Fix #549
Nicolas Williams [Sun, 10 Aug 2014 01:47:03 +0000 (20:47 -0500)]
Constant fold objects
Nicolas Williams [Sun, 10 Aug 2014 01:27:08 +0000 (20:27 -0500)]
Fold constant arrays
Nicolas Williams [Sun, 10 Aug 2014 00:05:15 +0000 (19:05 -0500)]
More constant folding: null, true, and false
A step towards doing constant folding for arrays and objects.
Nicolas Williams [Sun, 10 Aug 2014 00:04:34 +0000 (19:04 -0500)]
Out of bounds negative array indices should raise
Nicolas Williams [Sat, 9 Aug 2014 18:10:41 +0000 (13:10 -0500)]
`.foo[-1] = ...` trips assertion (fix #490)
Nicolas Williams [Sat, 9 Aug 2014 17:42:39 +0000 (12:42 -0500)]
Allow any number of jq-coded function arguments
Nicolas Williams [Sat, 9 Aug 2014 00:36:43 +0000 (19:36 -0500)]
Make `nwise` private
Nicolas Williams [Sat, 9 Aug 2014 00:31:11 +0000 (19:31 -0500)]
Make regexp builtins and range/3 use #524 too
Nicolas Williams [Sat, 9 Aug 2014 00:23:46 +0000 (19:23 -0500)]
Use `def f($a): ...;` syntax for builtins
Nicolas Williams [Fri, 8 Aug 2014 23:00:47 +0000 (18:00 -0500)]
Add `def f($arg):` syntax (fix #524)
Nicolas Williams [Fri, 8 Aug 2014 23:00:01 +0000 (18:00 -0500)]
Fix tests for #432
Nicolas Williams [Fri, 8 Aug 2014 22:46:47 +0000 (17:46 -0500)]
Fix docs YAML (introduced in #432)
pkoppstein [Fri, 1 Aug 2014 00:32:44 +0000 (20:32 -0400)]
regex filters (#432): scan, splits, split, sub, gsub
Nicolas Williams [Wed, 6 Aug 2014 22:50:28 +0000 (17:50 -0500)]
Better error msg for bad shell quoting (fix #538)
William Langford [Tue, 5 Aug 2014 03:54:30 +0000 (23:54 -0400)]
Actually check version for bison.
Clean up oniguruma checks.
William Langford [Tue, 5 Aug 2014 17:41:59 +0000 (13:41 -0400)]
Merge pull request #532 from wtlangford/top-removal
Remove duplicate TOP insertions, drop unused defs.
Nicolas Williams [Tue, 5 Aug 2014 06:14:23 +0000 (01:14 -0500)]
Document TCO a bit more
Nicolas Williams [Tue, 5 Aug 2014 06:14:04 +0000 (01:14 -0500)]
Fix docs (missing backquotes)
William Langford [Tue, 5 Aug 2014 04:50:21 +0000 (00:50 -0400)]
Merge pull request #523 from eproxus/patch-1
Add example of selecting object with keys
William Langford [Tue, 5 Aug 2014 04:46:10 +0000 (00:46 -0400)]
Remove duplicate TOP insertions, drop unused defs.
pkoppstein [Sun, 3 Aug 2014 23:49:02 +0000 (19:49 -0400)]
Apply TCO to recurse/1, add recurse/2; tweak docs
Signed-off-by: Nicolas Williams <nico@cryptonector.com>
Adam Lindberg [Fri, 1 Aug 2014 10:13:35 +0000 (12:13 +0200)]
Add example of selecting object with keys
It is not very straight forward how to select objects by their attributes from an array. This example provides the basic use case of how to select some objects based key values.
Nicolas Williams [Fri, 1 Aug 2014 05:20:30 +0000 (00:20 -0500)]
Some builtins are unnecessarily special (fix #521)
Nicolas Williams [Wed, 30 Jul 2014 18:19:46 +0000 (13:19 -0500)]
Correct @wtlangford's address
Nicolas Williams [Wed, 30 Jul 2014 18:02:34 +0000 (13:02 -0500)]
Add @wtlangford to the AUTHORS list
pkoppstein [Sat, 19 Jul 2014 05:08:38 +0000 (01:08 -0400)]
Add capture; document regular expression filters
Fix #493.
Nicolas Williams [Mon, 28 Jul 2014 18:18:58 +0000 (13:18 -0500)]
Add `first`, `nth`, `last` (fix #510)
William Langford [Wed, 23 Jul 2014 07:33:04 +0000 (03:33 -0400)]
Fixing crash when a library's dependency could not be loaded.
Signed-off-by: Nicolas Williams <nico@cryptonector.com>
Nicolas Williams [Sun, 27 Jul 2014 22:33:22 +0000 (17:33 -0500)]
Fold constants (fix #504)
Nicolas Williams [Sun, 27 Jul 2014 22:41:40 +0000 (17:41 -0500)]
Fix #499, #500
William Langford [Tue, 22 Jul 2014 00:08:42 +0000 (20:08 -0400)]
Changing color codes to fix #495
Nicolas Williams [Wed, 23 Jul 2014 03:49:30 +0000 (22:49 -0500)]
Do fix remaining bison warning (fix #433)
Nicolas Williams [Wed, 23 Jul 2014 03:44:52 +0000 (22:44 -0500)]
Rename jq_memmem() to _jq_memmem()
William Langford [Wed, 9 Jul 2014 04:55:20 +0000 (00:55 -0400)]
Added library system with -l, -L, and JQ_LIBRARY_PATH
Created util.[ch] to hold common utilities.
Nicolas Williams [Sun, 20 Jul 2014 05:11:23 +0000 (00:11 -0500)]
Add -i option to edit files in place (fix #105)
Nicolas Williams [Sun, 20 Jul 2014 05:04:24 +0000 (00:04 -0500)]
Add -n to short usage msg; fix --arg msg
Nicolas Williams [Mon, 14 Jul 2014 20:39:43 +0000 (15:39 -0500)]
Fix bison empty rule warnings (#433, partial fix)
Nicolas Williams [Mon, 14 Jul 2014 20:38:58 +0000 (15:38 -0500)]
Fix #484, try/catch syntax has conflicts
Nico Williams [Mon, 14 Jul 2014 14:16:01 +0000 (09:16 -0500)]
Merge pull request #483 from else/master
jq 1.4 is in Debian
Simon Elsbrock [Mon, 14 Jul 2014 09:24:47 +0000 (11:24 +0200)]
jq 1.4 is in Debian
jq 1.4 is in Debian, please see https://tracker.debian.org/pkg/jq
Nico Williams [Mon, 14 Jul 2014 00:01:57 +0000 (19:01 -0500)]
Merge pull request #482 from mbruggmann/manual-fixes
Fix manual example for `endswith`.
Nicolas Williams [Mon, 14 Jul 2014 00:00:37 +0000 (19:00 -0500)]
Add regression test for #479
Nicolas Williams [Sun, 13 Jul 2014 23:36:27 +0000 (18:36 -0500)]
Lib defs don't bind to each other; fix #479 again
Marc Bruggmann [Sun, 13 Jul 2014 17:01:45 +0000 (19:01 +0200)]
Fix manual example for `endswith`.
Nicolas Williams [Sun, 13 Jul 2014 07:04:27 +0000 (02:04 -0500)]
Revert "Library defs don't bind to each other; fix #479"
This reverts commit
6b6e3f42627f360cbbad2287968b2a209ab43593 . It was
the wrong fix.
Nicolas Williams [Sat, 12 Jul 2014 23:37:23 +0000 (18:37 -0500)]
Library defs don't bind to each other; fix #479
Nicolas Williams [Fri, 11 Jul 2014 00:20:58 +0000 (19:20 -0500)]
Fix #478 assertion failure
Nico Williams [Wed, 9 Jul 2014 15:09:28 +0000 (10:09 -0500)]
Merge pull request #475 from qqshfox/patch-1
Fix examples for `del` in manual
Hanfei Shen [Wed, 9 Jul 2014 08:31:25 +0000 (16:31 +0800)]
Fix examples for `del` in manual
Zhiming Wang [Wed, 9 Jul 2014 03:32:00 +0000 (20:32 -0700)]
Fix invalid YAML in manual.yml
Grave accent "`" is a reserved indicator in YAML per
http://www.yaml.org/spec/1.2/spec.html#id2774228, so it can't start a
plain scalar. This commit applies quoting to titles beginning with
grave accents.
Signed-off-by: Nicolas Williams <nico@cryptonector.com>
Zhiming Wang [Wed, 9 Jul 2014 03:55:50 +0000 (20:55 -0700)]
Add tests/all.trs to .gitignore
tests/all.trs is auto generated during make check.
Signed-off-by: Nicolas Williams <nico@cryptonector.com>
Nicolas Williams [Wed, 9 Jul 2014 06:05:06 +0000 (01:05 -0500)]
Better document `path()`'s power; also `|=`
Nicolas Williams [Wed, 9 Jul 2014 05:43:06 +0000 (00:43 -0500)]
Add `foreach EXP as $var (INIT; UPDATE)` form
Nicolas Williams [Wed, 9 Jul 2014 05:39:25 +0000 (00:39 -0500)]
Make `while()` handle `break`
Nicolas Williams [Tue, 8 Jul 2014 03:49:46 +0000 (22:49 -0500)]
Make C-coded built-ins take `jq_state *` argument
Nicolas Williams [Tue, 8 Jul 2014 03:26:53 +0000 (22:26 -0500)]
`error(x)` should not `tostring` its arg; fix #466
Nicolas Williams [Tue, 8 Jul 2014 03:26:07 +0000 (22:26 -0500)]
`limit` should use `break`
Nicolas Williams [Tue, 8 Jul 2014 03:25:34 +0000 (22:25 -0500)]
Make `any/2` and `all/2` efficient using `foreach`
Nicolas Williams [Mon, 23 Dec 2013 23:13:19 +0000 (17:13 -0600)]
exec_stack.h was not using jv_mem_realloc()
Nicolas Williams [Tue, 24 Dec 2013 18:24:14 +0000 (12:24 -0600)]
jv_invalid() shouldn't allocate
jv_invalid() should behave like jv_invalid_with_msg(jv_null()), and
neither should allocate memory, because neither ought to need to.
Nicolas Williams [Wed, 1 Jan 2014 05:25:20 +0000 (23:25 -0600)]
jv_show() should be able to display invalid values
Nicolas Williams [Mon, 7 Jul 2014 23:48:13 +0000 (18:48 -0500)]
Add `break` builtin for `foreach`
Nicolas Williams [Mon, 7 Jul 2014 22:22:53 +0000 (17:22 -0500)]
Explain `foreach`'s powers a bit more
Nicolas Williams [Mon, 7 Jul 2014 22:13:51 +0000 (17:13 -0500)]
Document `path(path_expression)` builtin
Nicolas Williams [Mon, 7 Jul 2014 22:13:48 +0000 (17:13 -0500)]
Add missing backtick in manual
Nicolas Williams [Mon, 7 Jul 2014 21:52:23 +0000 (16:52 -0500)]
$var["foo"]=1 can't work as expected; doc fix #236
Nicolas Williams [Mon, 7 Jul 2014 21:03:32 +0000 (16:03 -0500)]
Better check for lib has only functions (fix #138)
Nicolas Williams [Mon, 7 Jul 2014 01:08:06 +0000 (20:08 -0500)]
Add `any/N` and `all/N` x N in (1, 2) (fix #455)
Contributed by @pkoppstein.
Nicolas Williams [Sun, 6 Jul 2014 08:24:29 +0000 (03:24 -0500)]
Add `foreach` and `limit`
William Langford [Fri, 4 Jul 2014 16:08:47 +0000 (12:08 -0400)]
Add support for negative indices for .[]; fix #462
Signed-off-by: Nicolas Williams <nico@cryptonector.com>
Nicolas Williams [Sun, 6 Jul 2014 05:11:55 +0000 (00:11 -0500)]
Add general `?` operator
Nicolas Williams [Sun, 6 Jul 2014 01:54:42 +0000 (20:54 -0500)]
Add `try EXP catch EXP`
Nicolas Williams [Sun, 6 Jul 2014 05:26:22 +0000 (00:26 -0500)]
Document `error/1`
Nicolas Williams [Thu, 3 Jul 2014 02:45:49 +0000 (21:45 -0500)]
Add `while(cond; update)` (fix #314)
Nicolas Williams [Thu, 3 Jul 2014 02:22:53 +0000 (21:22 -0500)]
Add `range(init;upto;by)` (fix #317)
Nicolas Williams [Wed, 2 Jul 2014 07:18:10 +0000 (02:18 -0500)]
Multi-arity needs better errors (fix #438)
Nicolas Williams [Wed, 2 Jul 2014 04:32:44 +0000 (23:32 -0500)]
Descrive generators, range() with by to manual
Nicolas Williams [Wed, 2 Jul 2014 04:32:40 +0000 (23:32 -0500)]
Fix typo in manual
William Langford [Tue, 1 Jul 2014 17:17:48 +0000 (13:17 -0400)]
Fixed base64 issue with UTF-8 strings
Signed-off-by: Nicolas Williams <nico@cryptonector.com>
Nicolas Williams [Wed, 2 Jul 2014 03:49:25 +0000 (22:49 -0500)]
Teach disassembler about TAIL_CALL_JQ
Nicolas Williams [Wed, 2 Jul 2014 03:40:40 +0000 (22:40 -0500)]
Fix off-by-one in TCO
Now we have the ability to define a generator in jq:
def for(cond; update):
def _for:
if cond then ., (update | _for) else . end;
_for;
for(. < 10; . + 1) # generates numbers between `.` and 10
Running this by hand with --debug-dump-disasm (with a fix for that
coming up next) we can see that the call to _for is optimized:
_for:0:
0000 DUP
0001 CALL_JQ cond:0^1
0005 JUMP_F 0022
0007 POP
0008 FORK 0012
0010 JUMP 0020
0012 CALL_JQ update:1^1
0016 TAIL_CALL_JQ _for:0^1
0020 JUMP 0023
0022 POP
0023 RET
And timing this with 1000, 10000, 100000 iterations shows that
indeed we must be applying TCO; otherwise, without TCO, this gets
very slow very quickly.
Nicolas Williams [Tue, 1 Jul 2014 04:41:20 +0000 (23:41 -0500)]
TCO to the max!
Close #446.
Currently tested by disassembling and tracing various recursive jq
programs by hand under valgrind. An improved test framework that
can test for errors and specific bytecode patterns is in
development.
William Langford [Wed, 25 Jun 2014 07:13:17 +0000 (03:13 -0400)]
Added cross-compilation script to build libjq for iOS.
Signed-off-by: Nicolas Williams <nico@cryptonector.com>
Zhiming Wang [Mon, 30 Jun 2014 02:48:01 +0000 (19:48 -0700)]
Let @uri produce uppercase hexadecimal digits...
instead of lowercase ones.
According to RFC 3986,
The uppercase hexadecimal digits 'A' through 'F' are equivalent to
the lowercase digits 'a' through 'f', respectively. If two URIs
differ only in the case of hexadecimal digits used in percent-encoded
octets, they are equivalent. For consistency, URI producers and
normalizers should use uppercase hexadecimal digits for all percent-
encodings.
See https://github.com/stedolan/jq/issues/451 for details.
Test suite and manual are also updated to reflect this change.
Signed-off-by: Nicolas Williams <nico@cryptonector.com>
Nicolas Williams [Tue, 1 Jul 2014 00:40:56 +0000 (19:40 -0500)]
Add much commentary about CALL_JQ and call frames
Nicolas Williams [Tue, 24 Jun 2014 05:39:00 +0000 (00:39 -0500)]
Get "Try Online" button working (fix #440)