]> granicus.if.org Git - jq/log
jq
10 years agoFix option stacking bug
Nicolas Williams [Sat, 21 Jun 2014 23:01:00 +0000 (18:01 -0500)]
Fix option stacking bug

10 years agoRemove stray fprintf() from last commit
Nicolas Williams [Sat, 21 Jun 2014 04:29:53 +0000 (23:29 -0500)]
Remove stray fprintf() from last commit

10 years agoAllow stacking of short options (fix #346)
Nicolas Williams [Sat, 21 Jun 2014 04:26:54 +0000 (23:26 -0500)]
Allow stacking of short options (fix #346)

10 years agoRemove extra free of testmode
Nicolas Williams [Thu, 19 Jun 2014 02:11:06 +0000 (21:11 -0500)]
Remove extra free of testmode

I added a jv_free() too many while rebasing @wtlangford's contribution.
It could only be triggered by calling `_match_impl` directly.

10 years agoAdded regex support as per issue #164.
William Langford [Wed, 18 Jun 2014 23:49:38 +0000 (19:49 -0400)]
Added regex support as per issue #164.

jq now depends on oniguruma for regex support.
Modified configure.ac accordingly.

Added valgrind suppression file for oniguruma to prevent one-time and bounded
leaks from causing tests to fail.

Signed-off-by: Nicolas Williams <nico@cryptonector.com>
10 years agoPartial revamp of `scripts/crosscompile`
Nicolas Williams [Wed, 18 Jun 2014 21:29:37 +0000 (16:29 -0500)]
Partial revamp of `scripts/crosscompile`

Fix #430.

10 years agoMinor style cleanup in main.c
Nicolas Williams [Wed, 18 Jun 2014 00:04:55 +0000 (19:04 -0500)]
Minor style cleanup in main.c

10 years agoRemove remnants of `--online-input` option
Nicolas Williams [Wed, 18 Jun 2014 00:02:23 +0000 (19:02 -0500)]
Remove remnants of `--online-input` option

10 years agoAdd `-j` / `--join-output` option, similar to `-r`
Nicolas Williams [Tue, 17 Jun 2014 23:59:35 +0000 (18:59 -0500)]
Add `-j` / `--join-output` option, similar to `-r`

Fix #215.

10 years agoFixed typo.
David Haguenauer [Thu, 20 Mar 2014 20:31:09 +0000 (21:31 +0100)]
Fixed typo.

Signed-off-by: Nicolas Williams <nico@cryptonector.com>
10 years agoRebuild jq.1.prebuilt
Nicolas Williams [Tue, 17 Jun 2014 23:13:35 +0000 (18:13 -0500)]
Rebuild jq.1.prebuilt

10 years agoRemove trailing whitespace from manual.yml
Nicolas Williams [Tue, 17 Jun 2014 23:13:14 +0000 (18:13 -0500)]
Remove trailing whitespace from manual.yml

10 years agoUse new style in manual for defs with args
Nicolas Williams [Tue, 17 Jun 2014 23:11:31 +0000 (18:11 -0500)]
Use new style in manual for defs with args

10 years agoSimplified standard library
Santiago Lapresta [Tue, 17 Jun 2014 22:15:22 +0000 (00:15 +0200)]
Simplified standard library

Close #426.

Signed-off-by: Nicolas Williams <nico@cryptonector.com>
10 years agoFix #419, improve Cannot index message (sortof)
Nicolas Williams [Tue, 17 Jun 2014 22:00:23 +0000 (17:00 -0500)]
Fix #419, improve Cannot index message (sortof)

jv_get() doesn't know if it's being called in the context of a jq
program or not, so it can't produce a very useful error message when the
types of the to-be-indexed value and the key don't agree.  For now,
including the key (when it is a short string) in the error message is as
significant an improvement as is easy to make.

10 years agoFix #266; make help message more useful
Nicolas Williams [Tue, 17 Jun 2014 21:47:12 +0000 (16:47 -0500)]
Fix #266; make help message more useful

10 years agoFix #280: from_entries of [] is null, should be {}
Nicolas Williams [Tue, 17 Jun 2014 03:40:44 +0000 (22:40 -0500)]
Fix #280: from_entries of [] is null, should be {}

10 years agoNo args default w/ tty stdout, not tty stdin #220
Nicolas Williams [Tue, 17 Jun 2014 02:28:30 +0000 (21:28 -0500)]
No args default w/ tty stdout, not tty stdin #220

10 years agoDon't declare environ on WIN32
Nicolas Williams [Tue, 17 Jun 2014 03:33:24 +0000 (22:33 -0500)]
Don't declare environ on WIN32

10 years agoAdded `flatten` and `flatten(x)` functions
Santiago Lapresta [Mon, 16 Jun 2014 00:34:18 +0000 (02:34 +0200)]
Added `flatten` and `flatten(x)` functions

Fix #415.

10 years agoRemove download 1.3 button; reposition try online
Nicolas Williams [Mon, 16 Jun 2014 22:01:09 +0000 (17:01 -0500)]
Remove download 1.3 button; reposition try online

10 years agoAdd ChangeLog and NEWS files
Nicolas Williams [Mon, 16 Jun 2014 20:29:48 +0000 (15:29 -0500)]
Add ChangeLog and NEWS files

10 years agoAdd missing contributors to AUTHORS
Nicolas Williams [Mon, 16 Jun 2014 20:29:31 +0000 (15:29 -0500)]
Add missing contributors to AUTHORS

10 years agoUpdate AUTHORS
Nicolas Williams [Mon, 16 Jun 2014 18:25:50 +0000 (13:25 -0500)]
Update AUTHORS

10 years agoFix Win64 jq.exe link on main page
Nicolas Williams [Mon, 16 Jun 2014 16:13:55 +0000 (11:13 -0500)]
Fix Win64 jq.exe link on main page

10 years agoAllow multiple functions with different arities
Nicolas Williams [Sun, 15 Jun 2014 04:53:15 +0000 (23:53 -0500)]
Allow multiple functions with different arities

10 years agoFix typo; rename jq.1-prebuit to jq.1.prebuilt
Nicolas Williams [Sat, 14 Jun 2014 00:04:06 +0000 (19:04 -0500)]
Fix typo; rename jq.1-prebuit to jq.1.prebuilt

10 years agoAdd `env` builtin
Nicolas Williams [Fri, 13 Jun 2014 22:51:41 +0000 (17:51 -0500)]
Add `env` builtin

10 years agoDocument the lambda nature of function args #391
Nicolas Williams [Fri, 13 Jun 2014 22:22:43 +0000 (17:22 -0500)]
Document the lambda nature of function args #391

10 years agoAutomatically update jq.1.prebuilt
Nicolas Williams [Fri, 13 Jun 2014 22:22:17 +0000 (17:22 -0500)]
Automatically update jq.1.prebuilt

10 years agoAdd jqplay link to the site
Nicolas Williams [Fri, 13 Jun 2014 22:21:56 +0000 (17:21 -0500)]
Add jqplay link to the site

10 years agojqplay has a domain now 408/head
Jingwen Owen Ou [Fri, 13 Jun 2014 01:17:39 +0000 (18:17 -0700)]
jqplay has a domain now

10 years agoAdd links to Solaris 11+ executables
Nicolas Williams [Fri, 13 Jun 2014 00:26:05 +0000 (19:26 -0500)]
Add links to Solaris 11+ executables

10 years agoInclude links to 1.3 executables in gh-pages
Nicolas Williams [Thu, 12 Jun 2014 22:30:30 +0000 (17:30 -0500)]
Include links to 1.3 executables in gh-pages

10 years agoMake a better jq.1 when Ruby deps missing
Nicolas Williams [Thu, 12 Jun 2014 22:30:09 +0000 (17:30 -0500)]
Make a better jq.1 when Ruby deps missing

10 years agoMerge pull request #400 from kdeme/master
Nico Williams [Thu, 12 Jun 2014 20:55:41 +0000 (15:55 -0500)]
Merge pull request #400 from kdeme/master

Heuristic IEEE754 endianness autoconf detection

Use AC_C_BIGENDIAN, though it's not really the correct approach.  Autoconf ought to have provided a test specifically for IEEE754 endianness, since it can differ from integer/pointer endianness!

10 years agoDetect endianness at configuration with Autoconf AC_C_BIGENDIAN feature 400/head
Kim De Mey [Wed, 11 Jun 2014 08:37:32 +0000 (10:37 +0200)]
Detect endianness at configuration with Autoconf AC_C_BIGENDIAN feature

10 years agoAdd lib.h to dist file list jq-1.4
Nicolas Williams [Mon, 9 Jun 2014 23:58:46 +0000 (18:58 -0500)]
Add lib.h to dist file list

10 years agoMake the note about shell quoting appear on site
Nicolas Williams [Mon, 9 Jun 2014 22:43:17 +0000 (17:43 -0500)]
Make the note about shell quoting appear on site

10 years agoAdd note about cmd.exe quoting
Nicolas Williams [Mon, 9 Jun 2014 15:22:55 +0000 (10:22 -0500)]
Add note about cmd.exe quoting

10 years agoBuilding docs fails on powerpc (#349)
Nicolas Williams [Mon, 9 Jun 2014 14:39:02 +0000 (09:39 -0500)]
Building docs fails on powerpc (#349)

Thanks @shym!!

10 years agoUpdate site news
Nicolas Williams [Mon, 9 Jun 2014 01:45:06 +0000 (20:45 -0500)]
Update site news

10 years agoAlso fix configure.ac to use git describe --tags
Nicolas Williams [Mon, 9 Jun 2014 00:36:06 +0000 (19:36 -0500)]
Also fix configure.ac to use git describe --tags

10 years agoFix scripts/version: use git describe --tags ...
Nicolas Williams [Mon, 9 Jun 2014 00:31:21 +0000 (19:31 -0500)]
Fix scripts/version: use git describe --tags ...

After tagging as 1.4 scripts/version was still producing jq-1.3-....

10 years agoAdd test of `indices` with short input
Nicolas Williams [Sun, 8 Jun 2014 07:27:27 +0000 (02:27 -0500)]
Add test of `indices` with short input

10 years agoAdd `indices(s)`, improve `index(s)`, `rindex(s)`
Nicolas Williams [Sun, 8 Jun 2014 07:01:44 +0000 (02:01 -0500)]
Add `indices(s)`, improve `index(s)`, `rindex(s)`

Now these deal with arrays as input and `s` being an array or a scalar.

10 years agoImprove `index` and `rindex` examples
Nicolas Williams [Sun, 8 Jun 2014 07:01:21 +0000 (02:01 -0500)]
Improve `index` and `rindex` examples

10 years agoRemove reference to `getpath` from docs
Nicolas Williams [Sun, 8 Jun 2014 06:35:03 +0000 (01:35 -0500)]
Remove reference to `getpath` from docs

10 years agoDocument `index` and `rindex` (#389)
Nicolas Williams [Sun, 8 Jun 2014 05:00:17 +0000 (00:00 -0500)]
Document `index` and `rindex` (#389)

10 years agoAdded `join` function
Santiago Lapresta [Thu, 29 May 2014 22:45:16 +0000 (00:45 +0200)]
Added `join` function

Signed-off-by: Nicolas Williams <nico@cryptonector.com>
10 years agoString * number should be commutative
Nicolas Williams [Sun, 8 Jun 2014 02:43:30 +0000 (21:43 -0500)]
String * number should be commutative

10 years agoAdd cross-compilation notes to README
Nicolas Williams [Wed, 4 Jun 2014 23:29:30 +0000 (18:29 -0500)]
Add cross-compilation notes to README

A detailed set of instruction as to how to setup a cross-compilation
environment for OS X and Win32/64 would be nice.

10 years agoAdd -j option to scripts/crosscompile
Nicolas Williams [Wed, 4 Jun 2014 23:15:44 +0000 (18:15 -0500)]
Add -j option to scripts/crosscompile

10 years agoAdd flags argument to jv_parser_new()
Nicolas Williams [Wed, 4 Jun 2014 23:17:27 +0000 (18:17 -0500)]
Add flags argument to jv_parser_new()

For extensibility.  We might add streaming parser options, even binary
JSON encoding options.

10 years agoRevert "Add -I / --online-input for huge top-level arrays"
Nicolas Williams [Wed, 4 Jun 2014 23:01:47 +0000 (18:01 -0500)]
Revert "Add -I / --online-input for huge top-level arrays"

This reverts commit 77936a594d797c480f26bfcef3636a74588a6918.

There are too many odd bugs in this mode, and it turns out to be a bad
idea anyways.  Instead, in the future a better option will be to pursue
alternative parsers, such as:

 - streaming parser that outputs only when a new leaf value is added or
   an array/object is opened/closed; options here include whether to
   include a path in each output;

 - parsers for binary JSON encodings (there's a variety of them).

Then one might run jq with a streaming parser and use `reduce` to
coalesce inputs from some depth down (instead of from one level down as
the reverted commit had intended).

Besides, a fully streaming parser is desirable in some cases, therefore
we should have such a thing as an option.

I've explored modifying the current parser to support a streaming
option, but it only makes the code very difficult to follow, which is
one reason that alternate parsers makes sense.  At any rate, this is all
for the future.  For now there's no streaming of individual texts, just
text sequences.

10 years agoFix tests failures on Windows
Nicolas Williams [Mon, 2 Jun 2014 05:56:01 +0000 (00:56 -0500)]
Fix tests failures on Windows

And Solaris 8 and 9 too, no doubt.  The problem was that non-standard
vsnprintf()s that return -1 when the buffer is too small were not
properly supported.

10 years agoUpdate .gitignore and config/.gitignore
Nicolas Williams [Mon, 2 Jun 2014 03:15:46 +0000 (22:15 -0500)]
Update .gitignore and config/.gitignore

10 years agoMerge pull request #367 from slapresta/del-docs
Nico Williams [Wed, 21 May 2014 03:11:01 +0000 (22:11 -0500)]
Merge pull request #367 from slapresta/del-docs

Documented `del` command

10 years agoDocumented `del` command 367/head
Santiago Lapresta [Tue, 20 May 2014 23:23:28 +0000 (01:23 +0200)]
Documented `del` command

10 years agoMerge pull request #360 from slapresta/275-unique-by
Nico Williams [Mon, 12 May 2014 05:30:55 +0000 (00:30 -0500)]
Merge pull request #360 from slapresta/275-unique-by

unique_by(.foo) function

10 years agoAdded texts/examples to unique_by function 360/head
Santiago Lapresta [Sun, 11 May 2014 23:43:00 +0000 (01:43 +0200)]
Added texts/examples to unique_by function

10 years agoAdded unique_by function
Santiago Lapresta [Sun, 11 May 2014 23:37:27 +0000 (01:37 +0200)]
Added unique_by function

10 years agoMake pthread tls configurable for Mingw build
Nicolas Williams [Fri, 18 Apr 2014 01:17:06 +0000 (20:17 -0500)]
Make pthread tls configurable for Mingw build

For the Mingw build we don't want to pull in the pthread DLL just
because we can autodetect pthread support.  That would make the jq.exe
binary not self-contained.

10 years agoAdd autoconf checks for pthreads; fix #340
Nicolas Williams [Wed, 16 Apr 2014 23:42:36 +0000 (18:42 -0500)]
Add autoconf checks for pthreads; fix #340

10 years agoMerge pull request #332 from jingweno/master
Nico Williams [Fri, 21 Mar 2014 04:47:40 +0000 (23:47 -0500)]
Merge pull request #332 from jingweno/master

Add link to jq playground

10 years agoAdd link to jqplay 332/head
Jingwen Owen Ou [Thu, 20 Mar 2014 22:47:18 +0000 (15:47 -0700)]
Add link to jqplay

10 years agoMerge pull request #176 from pearkes/new-tutorial
Nico Williams [Thu, 13 Mar 2014 05:57:54 +0000 (00:57 -0500)]
Merge pull request #176 from pearkes/new-tutorial

Docs: Update the tutorial to use GitHub's API

10 years agoFix for #303 in the sources
Nicolas Williams [Thu, 13 Mar 2014 05:49:56 +0000 (00:49 -0500)]
Fix for #303 in the sources

10 years agoMerge pull request #278 from polyester/master
Nico Williams [Thu, 13 Mar 2014 05:52:58 +0000 (00:52 -0500)]
Merge pull request #278 from polyester/master

work with newer versions of automake

10 years agoTest `arrays` and friend filters
Nicolas Williams [Thu, 13 Mar 2014 05:27:49 +0000 (00:27 -0500)]
Test `arrays` and friend filters

10 years agoDocument `scalars`
Nicolas Williams [Thu, 13 Mar 2014 05:22:36 +0000 (00:22 -0500)]
Document `scalars`

10 years agoAlso add `scalars`
Nicolas Williams [Thu, 13 Mar 2014 05:16:33 +0000 (00:16 -0500)]
Also add `scalars`

10 years agoDocument `arrays`, `objects`, ...
Nicolas Williams [Thu, 13 Mar 2014 05:19:55 +0000 (00:19 -0500)]
Document `arrays`, `objects`, ...

10 years agoAdded `arrays` and other filters
Santiago Lapresta [Mon, 10 Mar 2014 00:35:44 +0000 (01:35 +0100)]
Added `arrays` and other filters

Arrays, objects, numbers, strings, booleans, nulls, values (non-nulls)
-- these builtins filter out those inputs that don't match the name of
the builtin.

This fixes #322 and #324.

10 years agoOne more recursive merge test
Nicolas Williams [Thu, 13 Mar 2014 04:44:21 +0000 (23:44 -0500)]
One more recursive merge test

10 years agoAdd a recursive object merge strategy and bind it to * 321/head
Filippo Valsorda [Sat, 8 Mar 2014 02:56:05 +0000 (03:56 +0100)]
Add a recursive object merge strategy and bind it to *

This commit adds a jv_object_merge_recursive function, that performs
recursive object merging, and binds it to multiply when applied to
two objects.

Added docs and tests.

Closes #320

10 years agoMake libm tests more portable
Nicolas Williams [Fri, 7 Mar 2014 03:38:10 +0000 (21:38 -0600)]
Make libm tests more portable

10 years agoMerge pull request #310 from arodland/master
Nico Williams [Mon, 3 Mar 2014 19:46:38 +0000 (13:46 -0600)]
Merge pull request #310 from arodland/master

Make jq --raw-output --unbuffered work

10 years agoRepair jv_show 310/head
Andrew Rodland [Wed, 26 Feb 2014 07:43:00 +0000 (01:43 -0600)]
Repair jv_show

10 years agoMake jq --raw-output --unbuffered work
Andrew Rodland [Wed, 26 Feb 2014 07:38:46 +0000 (01:38 -0600)]
Make jq --raw-output --unbuffered work

--unbuffered was only affecting the normal output case, not the --raw-output case. Make the two of them play together.

This also makes sure that the output is flushed *after* printing the newline, so a consumer doesn't lag a line behind.

10 years agoAdd cbrt (cube root)
Nicolas Williams [Fri, 21 Feb 2014 16:51:16 +0000 (10:51 -0600)]
Add cbrt (cube root)

10 years agoAdd missing trig functions and barebones test
Nicolas Williams [Fri, 21 Feb 2014 16:49:21 +0000 (10:49 -0600)]
Add missing trig functions and barebones test

10 years agoRemove non-standard exp10()
Nicolas Williams [Fri, 21 Feb 2014 16:49:10 +0000 (10:49 -0600)]
Remove non-standard exp10()

10 years agoInitial add of math functions. 302/head
Mike McCabe [Fri, 21 Feb 2014 08:46:56 +0000 (08:46 +0000)]
Initial add of math functions.

10 years agoAdd `?`, `.[]?`, and `..` operators 298/head
Nicolas Williams [Mon, 17 Feb 2014 18:28:26 +0000 (12:28 -0600)]
Add `?`, `.[]?`, and `..` operators

Make XPath-like `//a/b` recursive structure traversal easier in jq,
which then becomes:

    ..|.a?.b?

The `?` operator suppresses errors about . not being an array or object.
The `..` operator is equivalent to calling the new `recurse_down`
built-in, which in turn is equivalent to

    recurse(.[]?)

Note that `..a` is not supported; neither is `...a`.  That could be add
added, but it doesn't seem worth the trouble of saving the need to type
a '|'.

10 years agoMerge pull request #300 from lcd047/master
Nico Williams [Wed, 19 Feb 2014 17:21:04 +0000 (11:21 -0600)]
Merge pull request #300 from lcd047/master

Fix building of the manual

10 years agomanual.yml: fix indent for the new `any` and `all` commands. 300/head
LCD 47 [Wed, 19 Feb 2014 13:10:32 +0000 (15:10 +0200)]
manual.yml: fix indent for the new `any` and `all` commands.

10 years agoMerge pull request #296 from slapresta/all-any
Nico Williams [Mon, 17 Feb 2014 04:45:49 +0000 (22:45 -0600)]
Merge pull request #296 from slapresta/all-any

Added `all` and `any` builtins

10 years agoAdded `all` and `any` builtins 296/head
Santiago Lapresta [Mon, 17 Feb 2014 03:01:32 +0000 (04:01 +0100)]
Added `all` and `any` builtins

10 years agoFix cut-n-paste in `leaf_paths`; doc and test 'em
Nicolas Williams [Thu, 6 Feb 2014 05:14:05 +0000 (23:14 -0600)]
Fix cut-n-paste in `leaf_paths`; doc and test 'em

10 years ago#285 add and builtins
Nicolas Williams [Wed, 5 Feb 2014 21:23:32 +0000 (15:23 -0600)]
#285 add  and  builtins

10 years agowork with newer versions of automake 278/head
polyester [Sat, 25 Jan 2014 17:55:58 +0000 (18:55 +0100)]
work with newer versions of automake

when using a newer automake, the autoreconf step fails with warnings:
"linking libtool libraries using a non-POSIX archiver requires 'AM_PROG_AR' in 'configure.ac' "

This happens for instance on ubuntu 13.10.
Doing just that, adding 'AM_PROG_AR' to configure.ac fixes the problem.

10 years agoFix #201; check that bison accepts --warnings
Nicolas Williams [Thu, 2 Jan 2014 05:10:00 +0000 (23:10 -0600)]
Fix #201; check that bison accepts --warnings

10 years agoFix version for make dist on master
Nicolas Williams [Tue, 31 Dec 2013 23:15:44 +0000 (17:15 -0600)]
Fix version for make dist on master

 - Re-remove VERSION file and all traces of it
 - Pass a decent version indicator to AC_INIT (using git describe)

When we tag 1.4 this will produce 1.4 as the version string when
building on the HEAD of that tag.

11 years agoFix rpm build (`make rpm`)
Joe Littlejohn [Mon, 19 Aug 2013 12:55:52 +0000 (13:55 +0100)]
Fix rpm build (`make rpm`)

* Re-add VERSION as it's required for `./setup superclean`
  and `make rpm`.
* Add *.rpm to git ignore, we never want them under version control.

11 years agoinclude additional files in jq.spec
Filippo Giunchedi [Wed, 16 Oct 2013 16:25:41 +0000 (12:25 -0400)]
include additional files in jq.spec

this will probably need changing upon SONAME bump

11 years agofix rpm Makefile target and prerequisites
Filippo Giunchedi [Wed, 16 Oct 2013 16:24:27 +0000 (12:24 -0400)]
fix rpm Makefile target and prerequisites

depend on dist and the specfile, plus use automake's variables

11 years agoDocument --version
Nicolas Williams [Fri, 27 Dec 2013 00:48:51 +0000 (18:48 -0600)]
Document --version

11 years agoAdd jv_dumpf() and jv_show()
Nicolas Williams [Fri, 27 Dec 2013 00:37:17 +0000 (18:37 -0600)]
Add jv_dumpf() and jv_show()

jv_dumpf() takes a FILE *.

jv_show() is intended for use in debuggers, so it dumps the jv to stderr
and it does not jv_free() the jv, so it's safe to
"call jv_show(some_jv, -1)" in a debugger.  If flags == -1 then the jv
will be shown pretty-printed and in color.

11 years agoDocument .foo.bar in manual
Nicolas Williams [Fri, 27 Dec 2013 00:25:31 +0000 (18:25 -0600)]
Document .foo.bar in manual