-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Destructure alt #2
base: master
Are you sure you want to change the base?
Commits on Nov 12, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 0ab7103 - Browse repository at this point
Copy the full SHA 0ab7103View commit details
Commits on Nov 20, 2018
-
Merge pull request jqlang#1768 from haochenx/readme-add-automake-as-b…
…uild-dependency-in add automake as build dependency to README.md
Configuration menu - View commit details
-
Copy full SHA for bb87e6e - Browse repository at this point
Copy the full SHA bb87e6eView commit details
Commits on Nov 29, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 9caa1ba - Browse repository at this point
Copy the full SHA 9caa1baView commit details
Commits on Dec 11, 2018
-
Allow variable refs as object keys {$key:value}
Users are often surprised by the requirement to parenthesize any non-trivial object key expressions in object constructors. E.g., {"a"+"b":1}. This commit adds one more kind of key expression besides literals and idents: variable references. A common use case for this is jq programs as JSON templates to fill in with variables computed from inputs or passed in on the command-line. E.g., {some_key:$value}. Now users can also use, e.g., {$key:$value}. This and the restrictions on key and value expressions in object constructors are now clarified a bit in the documentation.
Configuration menu - View commit details
-
Copy full SHA for 8ea4a55 - Browse repository at this point
Copy the full SHA 8ea4a55View commit details
Commits on Dec 15, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 2760fd3 - Browse repository at this point
Copy the full SHA 2760fd3View commit details -
Merge pull request jqlang#1779 from gvangool/update-NEWS
Adds the release info for 1.6 to NEWS
Configuration menu - View commit details
-
Copy full SHA for 9c029f7 - Browse repository at this point
Copy the full SHA 9c029f7View commit details
Commits on Dec 18, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 7123309 - Browse repository at this point
Copy the full SHA 7123309View commit details -
fix --exit-code issues jqlang#1142 and jqlang#1139
* Set default error code to -4 in main(), Fixes jqlang#1142 * fix --exit-code with more than one object in input, Fixes jqlang#1139 - Return code 1 or 4 based on last output, not last input.
Configuration menu - View commit details
-
Copy full SHA for 6d3d275 - Browse repository at this point
Copy the full SHA 6d3d275View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb1c635 - Browse repository at this point
Copy the full SHA fb1c635View commit details
Commits on Dec 19, 2018
-
Mingw-w64 on windows doesn't have
setenv
, fix that.Signed-off-by: HE, Tao <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b436156 - Browse repository at this point
Copy the full SHA b436156View commit details
Commits on Dec 26, 2018
-
Makefile.am: add no-undefined for win32
"Undefined symbols are not allowed in x86_64-w64-mingw32 shared libraries" This was also applied in the official MINGW-packages repo: Alexpux/MINGW-packages@b5566c58a
Configuration menu - View commit details
-
Copy full SHA for 6893284 - Browse repository at this point
Copy the full SHA 6893284View commit details -
builtin: add missing windows.h include
Follow-up fix to b436156 because BOOL and DWORD are not built-in to mingw64.
Configuration menu - View commit details
-
Copy full SHA for b10878f - Browse repository at this point
Copy the full SHA b10878fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0bc7708 - Browse repository at this point
Copy the full SHA 0bc7708View commit details
Commits on Jan 5, 2019
-
Merge pull request jqlang#1774 from dooglus/patch-1
Fix grammar typo.
Configuration menu - View commit details
-
Copy full SHA for 4b4fefa - Browse repository at this point
Copy the full SHA 4b4fefaView commit details
Commits on Jan 19, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 61cd6db - Browse repository at this point
Copy the full SHA 61cd6dbView commit details
Commits on Jan 22, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 63ba2b1 - Browse repository at this point
Copy the full SHA 63ba2b1View commit details
Commits on Jan 30, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 12a628a - Browse repository at this point
Copy the full SHA 12a628aView commit details -
Replace uses of the nonstandard $^ variable by explicitly specifying the source filenames. This is the only obvious thing preventing the build from running correctly on non-GNU make.
Configuration menu - View commit details
-
Copy full SHA for 012af21 - Browse repository at this point
Copy the full SHA 012af21View commit details
Commits on Jan 31, 2019
-
Unify timegm fallbacks into my_mktime
my_timegm was introduced in 1900c7 to add a mktime fallback used in 4a6241, the subsequently removed in c53823. As a result of this code shuffling, the jq mktime function (f_mktime) wound up using a fallback even on systems where timegm is available, with incorrect results in some time zones with DST, e.g. % TZ=America/New_York jq -n '"2018-08-31T00:00:00Z"|fromdate|todate' "2018-08-31T01:00:00Z" This undoes 1900c7 and moves the workaround it added into the #else of my_mktime.
Configuration menu - View commit details
-
Copy full SHA for 3c5b141 - Browse repository at this point
Copy the full SHA 3c5b141View commit details
Commits on Feb 3, 2019
-
Configuration menu - View commit details
-
Copy full SHA for d29bf5b - Browse repository at this point
Copy the full SHA d29bf5bView commit details
Commits on Feb 4, 2019
-
builtin/f_match: prevent overruns of input_string
If these values do not match exactly, it is because the UTF-8 is invalid anyway and we counted codepoints differently than oniguruma did. Perhaps it would be better to error out here, but at least one similar loop already uses < vs != and since we're off the rails anyway this might be OK. It is certainly better than overruning the buffer. Resolves jqlang#1804
Configuration menu - View commit details
-
Copy full SHA for 21be385 - Browse repository at this point
Copy the full SHA 21be385View commit details
Commits on Feb 6, 2019
-
Export input/0 directly from C, removing _input/0
The distinction between input/0 and _input/0 has been unnecessary since a9c613..7dc34b, which moved end-of-input handling into C and replaced the jq definition of input with `def input: _input;`
Configuration menu - View commit details
-
Copy full SHA for 2fd7252 - Browse repository at this point
Copy the full SHA 2fd7252View commit details
Commits on Feb 7, 2019
-
Define error/1 in terms of error/0
The parser generates a call to error/0 on break. Having that exported from C directly removes a language dependency on builtin.jq. In any case, error/0 seems to be the more fundamental operation, seeing as the old C impementation of error/1 did nothing useful with its input.
Configuration menu - View commit details
-
Copy full SHA for 956d40d - Browse repository at this point
Copy the full SHA 956d40dView commit details -
"(.+)" doesn't match new line characters so the link generated for [if-then-else](https://github.com/stedolan/jq/blob/90bc29c1b544c0436ec44246e180fdbb6d6384df/docs/content/3.manual/v1.5/manual.yml#L1804) doesn't work
Configuration menu - View commit details
-
Copy full SHA for 18ac789 - Browse repository at this point
Copy the full SHA 18ac789View commit details
Commits on Feb 9, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 2660b04 - Browse repository at this point
Copy the full SHA 2660b04View commit details -
Configuration menu - View commit details
-
Copy full SHA for 88613f5 - Browse repository at this point
Copy the full SHA 88613f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f59bee - Browse repository at this point
Copy the full SHA 3f59beeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9fa2e51 - Browse repository at this point
Copy the full SHA 9fa2e51View commit details
Commits on Feb 17, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 605bfb3 - Browse repository at this point
Copy the full SHA 605bfb3View commit details -
Possibly enable color output on Windows (jqlang#1494)
Windows 10 supports color output, but it must be explicitly enabled; ANSICON provides support for other versions. Enable color if either of those are available. Resolves jqlang#1494.
Configuration menu - View commit details
-
Copy full SHA for def42a3 - Browse repository at this point
Copy the full SHA def42a3View commit details -
Prevent redirecting to NUL crash
Windows regards the `NUL` device as tty, which causes `WriteFile` to fail (the bytes written pointer cannot be `NULL` in this case). Tweak the color test to ensure tty is accurate.
Configuration menu - View commit details
-
Copy full SHA for 87594f8 - Browse repository at this point
Copy the full SHA 87594f8View commit details -
Add ISO 8601-specific strptime
Implement `strptime` for systems lacking it, but only supporting the ISO 8601 format string.
Configuration menu - View commit details
-
Copy full SHA for 0fc8200 - Browse repository at this point
Copy the full SHA 0fc8200View commit details -
Windows has `_mkgmtime` for the UTC equivalent of `mktime`.
Configuration menu - View commit details
-
Copy full SHA for 80b064f - Browse repository at this point
Copy the full SHA 80b064fView commit details
Commits on Feb 18, 2019
-
The mingw-w64 runtime expands wildcards, which causes a discrepancy between `main`'s `argv` (multiple file names) and Windows' `wargv` (a single wildcard). Use `wmain` to retrieve the wide character args.
Configuration menu - View commit details
-
Copy full SHA for 88e1f59 - Browse repository at this point
Copy the full SHA 88e1f59View commit details
Commits on Feb 21, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 8edf58a - Browse repository at this point
Copy the full SHA 8edf58aView commit details -
Pass on the error message when rel_path is invalid
"Module path must be a string" is not a useful error message when the reason the module path isn't a string is because the string it was got replaced with an invalid with an error message for some other reason. Also fixes a few memory leaks on early exits.
Configuration menu - View commit details
-
Copy full SHA for ff01482 - Browse repository at this point
Copy the full SHA ff01482View commit details -
Catch .. as the first component of a module path
Only the second and subsequent path components were being checked, which I guess is theoretically security-relevant. There's no apparent point to reconstructing the path after splitting it by adding /s back in, either.
Configuration menu - View commit details
-
Copy full SHA for 4f4494c - Browse repository at this point
Copy the full SHA 4f4494cView commit details -
Replace TOP-before-imports special case with assert
The case isn't actually possible afaict.
Configuration menu - View commit details
-
Copy full SHA for c814c4e - Browse repository at this point
Copy the full SHA c814c4eView commit details -
Add import metadata key "optional"
A library marked is imported if found, but silently skipped if missing. This is the desired semantic for the auto-include at ~/.jq
Configuration menu - View commit details
-
Copy full SHA for 450ade4 - Browse repository at this point
Copy the full SHA 450ade4View commit details -
Load ~/.jq as a library instead of with builtins
Remove the special code which loads ~/.jq in builtin.c, and instead glue an optional include which points to the same file onto the main program in linker.c. Fixes a minor bug where errors in ~/.jq would be labelled <builtin>.
Configuration menu - View commit details
-
Copy full SHA for b2b0bd3 - Browse repository at this point
Copy the full SHA b2b0bd3View commit details -
Make builtin binding fast again by binding only referenced symbols
Avoid doing the internal binding of top-level symbols in the parser, leaving that work to be done in a post-processing step. For builtins, this lets us do a reference-aware bind step (block_bind_incremental) *after* generating builtins/0. Libraries are a bit trickier since they may be bound multiple times, so instead of thinking through the implications I added (block_bind_self) to resolve all internal symbols immediately.
Configuration menu - View commit details
-
Copy full SHA for e843a4f - Browse repository at this point
Copy the full SHA e843a4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ef90ac - Browse repository at this point
Copy the full SHA 1ef90acView commit details -
Support "if" without "else" clause
Defaults the else clause to the identity filter "." if an else clause is missing. The following two jq programs are considered equivalent: ``` if .foo then .foo = "bar" else . end ``` ``` if .foo then .foo = "bar" end ```
Configuration menu - View commit details
-
Copy full SHA for 4f6045a - Browse repository at this point
Copy the full SHA 4f6045aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a02b2c - Browse repository at this point
Copy the full SHA 8a02b2cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 048acee - Browse repository at this point
Copy the full SHA 048aceeView commit details -
Work around fgets()'s lack of length reporting
Stop losing \0s from the end of files because we don't know how much fgets() read into our buffer. If we prefill the buffer with anything other than zeroes, we can actually tell the difference between the terminator and unused space in the buffer. This is possibly more expensive, but at least it should be correct. Fixes jqlang#1504
Configuration menu - View commit details
-
Copy full SHA for 85caac4 - Browse repository at this point
Copy the full SHA 85caac4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 730c730 - Browse repository at this point
Copy the full SHA 730c730View commit details -
Configuration menu - View commit details
-
Copy full SHA for 130152a - Browse repository at this point
Copy the full SHA 130152aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a0d5be - Browse repository at this point
Copy the full SHA 9a0d5beView commit details
Commits on Feb 26, 2019
-
Fix block flipping in block_drop_unreferenced
Since 605bfb3, block_drop_unreferenced actually reverses the order of instructions in the block it's run against. This bug was hidden by the fact that normally it's run *twice* against the main program, flipping it back, and that order of function definitionss doesn't really matter after symbol resolution.
Configuration menu - View commit details
-
Copy full SHA for 8537b93 - Browse repository at this point
Copy the full SHA 8537b93View commit details -
Rename block_bind_incremental to block_bind_referenced
block_bind_incremental is block_bind_referenced in a loop backwards. For an 1-inst block, it does the same thing and isn't too much more expensive, so it's not really useful to keep both. Also, block_bind_referenced was a better name for the function.
Configuration menu - View commit details
-
Copy full SHA for 260879a - Browse repository at this point
Copy the full SHA 260879aView commit details -
No need to block_drop_unreferenced after builtins
(The correctness of this change is more obvious after the rename.)
Configuration menu - View commit details
-
Copy full SHA for 36c250a - Browse repository at this point
Copy the full SHA 36c250aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a0bdf6 - Browse repository at this point
Copy the full SHA 6a0bdf6View commit details -
Redefine isempty/1, and the all and any series
Fixes the bug where all and any evaluate one more item than needed.
Configuration menu - View commit details
-
Copy full SHA for 41b8593 - Browse repository at this point
Copy the full SHA 41b8593View commit details -
Configuration menu - View commit details
-
Copy full SHA for d3abe3a - Browse repository at this point
Copy the full SHA d3abe3aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 78271b1 - Browse repository at this point
Copy the full SHA 78271b1View commit details -
Simplify definition of range/3
New implementation in terms of while/2, and branches immediately on $by to avoid checking the sign of $by *in* the loop.
Configuration menu - View commit details
-
Copy full SHA for fc6df0f - Browse repository at this point
Copy the full SHA fc6df0fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c1e717 - Browse repository at this point
Copy the full SHA 8c1e717View commit details -
Make tostream much more efficient
(`path(.[])` is a streaming `keys`!)
Configuration menu - View commit details
-
Copy full SHA for d1a07cb - Browse repository at this point
Copy the full SHA d1a07cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for a1626ad - Browse repository at this point
Copy the full SHA a1626adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 76e72a3 - Browse repository at this point
Copy the full SHA 76e72a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for c1f1185 - Browse repository at this point
Copy the full SHA c1f1185View commit details -
Configuration menu - View commit details
-
Copy full SHA for 175dbc4 - Browse repository at this point
Copy the full SHA 175dbc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 53a3f47 - Browse repository at this point
Copy the full SHA 53a3f47View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15be4e7 - Browse repository at this point
Copy the full SHA 15be4e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for a4756fd - Browse repository at this point
Copy the full SHA a4756fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for cc724f1 - Browse repository at this point
Copy the full SHA cc724f1View commit details -
Change contains to return true for empty string needles
The behavior of memmem for an empty needle is inconsistent between implementations of libc. Our tests imply that we want an empty string needle to be true, so check for an empty needle before calling memmem.
Configuration menu - View commit details
-
Copy full SHA for f951d02 - Browse repository at this point
Copy the full SHA f951d02View commit details -
Make shtest verbose 2 diag. alpine build failure
Temporarily(?) make tests/shtest verbose to help diagnose Travis alpine build failures.
Configuration menu - View commit details
-
Copy full SHA for 6df393c - Browse repository at this point
Copy the full SHA 6df393cView commit details
Commits on Feb 27, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 30afc86 - Browse repository at this point
Copy the full SHA 30afc86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 141bb78 - Browse repository at this point
Copy the full SHA 141bb78View commit details -
Configuration menu - View commit details
-
Copy full SHA for abed751 - Browse repository at this point
Copy the full SHA abed751View commit details -
Restore cfunction arity in builtins/0
Count arguments up-front at definition/invocation instead of doing it at bind time, which comes after generating builtins/0 since e843a4f.
Configuration menu - View commit details
-
Copy full SHA for 3ea0199 - Browse repository at this point
Copy the full SHA 3ea0199View commit details
Commits on Mar 25, 2019
-
Configuration menu - View commit details
-
Copy full SHA for c72ed13 - Browse repository at this point
Copy the full SHA c72ed13View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e0a118 - Browse repository at this point
Copy the full SHA 3e0a118View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0dab2b1 - Browse repository at this point
Copy the full SHA 0dab2b1View commit details -
Identify progname in more errors (fix jqlang#1860)
However, we should really use the argv[0] progname, not just jq. Someday we may want to support aliases which automatically add certain options, etc.
Configuration menu - View commit details
-
Copy full SHA for 2b4d51f - Browse repository at this point
Copy the full SHA 2b4d51fView commit details -
Configuration menu - View commit details
-
Copy full SHA for dffba62 - Browse repository at this point
Copy the full SHA dffba62View commit details -
Configuration menu - View commit details
-
Copy full SHA for e01398c - Browse repository at this point
Copy the full SHA e01398cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b34af08 - Browse repository at this point
Copy the full SHA b34af08View commit details
Commits on Mar 26, 2019
-
Fix assert in generator subexpressions (fix jqlang#1875)
Expressions of the form `path(EXPR) | select(GENERATOR)`, where `EXPR` is a path expression and `GENERATOR` is a generator conditional expression (e.g., `has("a"), has("b")`) cause an assertion if the jq_state VM is torn down too soon. That assert() was only correct if assuming that the conditional is not a generator. If the conditional is generator, then what we see is that when backtracking a SUBEXP_END is executed without a corresponding SUBEXP_BEGIN because the entire conditional is bracketed with SUBEXP_BEGIN and SUBEXP_END, and since it's resumed in the middle, in between the brackets. Rather than assert that the jq->path_len being restored has some particular value, we can simply re-compute it from the restored jq->path.
Configuration menu - View commit details
-
Copy full SHA for b52fc10 - Browse repository at this point
Copy the full SHA b52fc10View commit details
Commits on Mar 29, 2019
-
pkg-config is a common interface to resolve build details. It will become easier to incorporate libjq in other projects by providing this interface.
Configuration menu - View commit details
-
Copy full SHA for 3c4fcb1 - Browse repository at this point
Copy the full SHA 3c4fcb1View commit details -
Dockerfile: Set noninteractive
Configure the environment to inform debconf that it's running in noninteractive mode, to avoid some warnings.
Configuration menu - View commit details
-
Copy full SHA for bcd594e - Browse repository at this point
Copy the full SHA bcd594eView commit details -
Dockerfile: Specify locale settings
Avoid RuntimeError in pipenv by setting LC_ALL and LANG to C.UTF-8.
Configuration menu - View commit details
-
Copy full SHA for 70e04d6 - Browse repository at this point
Copy the full SHA 70e04d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for c4062e0 - Browse repository at this point
Copy the full SHA c4062e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 528a4f5 - Browse repository at this point
Copy the full SHA 528a4f5View commit details -
Dockerfile: Fetch dependency as git submodule
Fetch oniguruma using git submodule instead of a release tarball. It will fix a build problem, caused by jq's autotools configuration, trying to run `make distclean` recursively in an empty modules directory. This will also improve the maintainability of the Dockerfile.
Configuration menu - View commit details
-
Copy full SHA for 5843701 - Browse repository at this point
Copy the full SHA 5843701View commit details -
Dockerfile: Uninstall oniguruma before distclean
Run `make uninstall` for oniguruma before running the recursive distclean that will remove oniguruma's Makefile and cause a build error due to missing make target.
Configuration menu - View commit details
-
Copy full SHA for 4f58a59 - Browse repository at this point
Copy the full SHA 4f58a59View commit details
Commits on Apr 4, 2019
-
jq_util_input_init: Zero memory using calloc
Calloc will zero the allocated memory which makes one memset and a number of explicit zero assignments redundant.
Configuration menu - View commit details
-
Copy full SHA for 263e106 - Browse repository at this point
Copy the full SHA 263e106View commit details
Commits on Apr 7, 2019
-
Configuration menu - View commit details
-
Copy full SHA for ad9fc9f - Browse repository at this point
Copy the full SHA ad9fc9fView commit details
Commits on Jun 11, 2019
-
Configuration menu - View commit details
-
Copy full SHA for e944fe8 - Browse repository at this point
Copy the full SHA e944fe8View commit details
Commits on Jul 9, 2019
-
The current paragraph is not complete, since a digit is not a special character. Changing it to: If the key contains special characters or starts with a digit, you need to surround it with double quotes like this: `."foo$"`, or else `.["foo$"]`.
Configuration menu - View commit details
-
Copy full SHA for 8d9817d - Browse repository at this point
Copy the full SHA 8d9817dView commit details
Commits on Jul 14, 2019
-
Merge pull request jqlang#1944 from tessus/doc-improvement
clarify filter usage
Configuration menu - View commit details
-
Copy full SHA for a976387 - Browse repository at this point
Copy the full SHA a976387View commit details
Commits on Jul 21, 2019
-
docs: fix seriously dangerous download instructions for Arch Linux
The current instructions tell users to perform two actions: - update the package database - install the jq package The only thing users need to or should be doing is actually installing the jq package -- regardless of which version is being installed. Guidelines on how to perform system updates are massively out of scope. In the case of partially performing a system update as a prerequisite for installing jq, the official guidance from Arch Linux is not to do this: partial updates are not supported, we refuse to support them, and anyone who does try to perform them anyway is assumed to know so much about their system that they clearly do not ever need help from anyone else (which is a good thing since they won't get it). The result is a frankensteined system that can only ever be supported by the person who frankensteined it to begin with. The only reason the package manager even allows it to occur in the first place is because other distributions using pacman might have different LTS policies, and because it would prevent expert users from being in control of their system, as per the traditional Unix philosophy: "Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things." Consequences of performing partial updates without understanding the ramifications in extensive detail can include breaking the partially updated application (jq), breaking any application that shares a mutual dependency with the partially updated application (which jq is *lucky* to only depend on the ever-backwards-compatible glibc), or breaking the entire operating system by leaving armed traps behind for the next time a `pacman -S new-package` is executed and thereby breaks *its* cascading dependencies. See: https://wiki.archlinux.org/index.php/System_maintenance#Partial_upgrades_are_unsupported
Configuration menu - View commit details
-
Copy full SHA for 7877464 - Browse repository at this point
Copy the full SHA 7877464View commit details
Commits on Jul 31, 2019
-
Merge pull request jqlang#1948 from eli-schwartz/no-pacman-sy
docs: fix seriously dangerous download instructions for Arch Linux
Configuration menu - View commit details
-
Copy full SHA for 37b2d21 - Browse repository at this point
Copy the full SHA 37b2d21View commit details
Commits on Oct 22, 2019
-
The library adds support for decimal numbers of arbitrary length. Downloaded from ICU, under ICU 1.8.1 license http://download.icu-project.org/files/decNumber/decNumber-icu-368.zip
Configuration menu - View commit details
-
Copy full SHA for b6be13d - Browse repository at this point
Copy the full SHA b6be13dView commit details -
Save literal value of the parsed number to preserve it for the output
Extend jv_number to use decNumber for storing number literals. Any math operations on the numbers will truncate them to double precision. Comparisons when both numbers are literal numbers will compare them without truncation. Delay conversion of numbers to doubles until a math operation is performed, to preserve precision. A literal jv_number will only need conversion to double once, and will reuse the resultant double on subsequent conversions. Outputting literal jv_numbers preserves the original precision. Add strong pthread requirement to manage contexts/allocations for converting numbers between their decNumber, string, and double formats.
Configuration menu - View commit details
-
Copy full SHA for cf4b48c - Browse repository at this point
Copy the full SHA cf4b48cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4860ed4 - Browse repository at this point
Copy the full SHA 4860ed4View commit details -
Add configure guards around literal jv_numbers
Allow building jq in a mode that doesn't use decnumber for benchmarking purposes. decnumber support is enabled by default, and this option is meant to be removed once we're happy with the performance.
Configuration menu - View commit details
-
Copy full SHA for 74c44bc - Browse repository at this point
Copy the full SHA 74c44bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b51a08 - Browse repository at this point
Copy the full SHA 9b51a08View commit details
Commits on Oct 24, 2019
-
Configuration menu - View commit details
-
Copy full SHA for bda75c3 - Browse repository at this point
Copy the full SHA bda75c3View commit details
Commits on Nov 21, 2019
-
Configuration menu - View commit details
-
Copy full SHA for e74eab8 - Browse repository at this point
Copy the full SHA e74eab8View commit details
Commits on Dec 30, 2019
-
Differentiate WIN32 / Cygwin in configure script
shlwapi.h is present on both systems
Configuration menu - View commit details
-
Copy full SHA for 2065d6c - Browse repository at this point
Copy the full SHA 2065d6cView commit details -
Rephrase doc "A string B is contained in A" ...
Minor rephrasing to prevent read/brain backtracking when using capital letter A as an article and a variable term.
Configuration menu - View commit details
-
Copy full SHA for 707022b - Browse repository at this point
Copy the full SHA 707022bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 24564b2 - Browse repository at this point
Copy the full SHA 24564b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c2e63a - Browse repository at this point
Copy the full SHA 4c2e63aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d235e97 - Browse repository at this point
Copy the full SHA d235e97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 839316e - Browse repository at this point
Copy the full SHA 839316eView commit details
Commits on Jan 2, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 82987df - Browse repository at this point
Copy the full SHA 82987dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for fa3733c - Browse repository at this point
Copy the full SHA fa3733cView commit details -
Configuration menu - View commit details
-
Copy full SHA for cf61515 - Browse repository at this point
Copy the full SHA cf61515View commit details -
Configuration menu - View commit details
-
Copy full SHA for 07b18a3 - Browse repository at this point
Copy the full SHA 07b18a3View commit details
Commits on Jan 3, 2020
-
Configuration menu - View commit details
-
Copy full SHA for e7d3798 - Browse repository at this point
Copy the full SHA e7d3798View commit details -
Configuration menu - View commit details
-
Copy full SHA for f8ea3b3 - Browse repository at this point
Copy the full SHA f8ea3b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 850e0a8 - Browse repository at this point
Copy the full SHA 850e0a8View commit details -
Support builtin modules and C-coded ext. modules
We can now have internal modules that can be imported or included as "jq/<name>". And we can now have modules with shared object / DLL components defining C-coded jq functions.
Configuration menu - View commit details
-
Copy full SHA for 9bb6bfa - Browse repository at this point
Copy the full SHA 9bb6bfaView commit details -
Configuration menu - View commit details
-
Copy full SHA for bbd61b3 - Browse repository at this point
Copy the full SHA bbd61b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for d4ef97e - Browse repository at this point
Copy the full SHA d4ef97eView commit details -
Add "jq/io" builtin module and -I / --io CLI opt
We can now open and read or write from/to arbitrary files. To enable this functionality one must also use the `-I` / `--io` command-line option.
Configuration menu - View commit details
-
Copy full SHA for a9f05a5 - Browse repository at this point
Copy the full SHA a9f05a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 436a42b - Browse repository at this point
Copy the full SHA 436a42bView commit details -
Co-expressions (co-routines) and eval
The basic co-expression builtin is `coexp(expr)`, which outputs an open handle for the expression's VM that one can read from / write to. Two sytnactic sugar options are included: - define a co-routine: $ jq -cn 'codef ($)foo: 1,2; codef ($)bar: "a","b"; [foo,bar,foo,bar]' [1,"a",2,"b"] (`codef ($)name: body; ...` creates a co-routine and binds `$name` to its handle and `name` to a function that extracts one output from the co-routine) - define a function with arguments turned into co-routines: $ jq -cn 'def comingle(@@A; @@b): while(a,b); [comingle(1,2; "a","b")]' [1,"a",2,"b"] Also added are various utilities, and also `eval` and `coeval`. `eval` evaluates its input program and outputs all its values. `coeval` outputs an open handle for a VM that will evaluate its input program. A new `while/1` repeats its argument expression until it produces no outputs.
Configuration menu - View commit details
-
Copy full SHA for 8b4f38b - Browse repository at this point
Copy the full SHA 8b4f38bView commit details -
Configuration menu - View commit details
-
Copy full SHA for bb7f685 - Browse repository at this point
Copy the full SHA bb7f685View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3d8945 - Browse repository at this point
Copy the full SHA e3d8945View commit details -
Configuration menu - View commit details
-
Copy full SHA for ccce953 - Browse repository at this point
Copy the full SHA ccce953View commit details -
Make debugging slightly easier with enum name
This allows one to print `(enum opcode)opcode` in gdb.
Configuration menu - View commit details
-
Copy full SHA for cce2728 - Browse repository at this point
Copy the full SHA cce2728View commit details -
Configuration menu - View commit details
-
Copy full SHA for b647fd3 - Browse repository at this point
Copy the full SHA b647fd3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2fe0ff3 - Browse repository at this point
Copy the full SHA 2fe0ff3View commit details -
Fix try/catch catches more than it should jqlang#1859
Rename the FORK_OPT opcode to TRY_BEGIN, add a TRY_END opcode, and wrap errors when raising through a TRY_END so that they will not be caught by the matching TRY_BEGIN. Now a `try exp catch handler` expression generates code like: TRY_BEGIN handler <exp> TRY_END JUMP past_handler handler: <handler> past_handler: ... On backtrack through TRY_BEGIN it just backtracks. If anything past the whole thing raises when <exp> produced a value, then the TRY_END will catch the error, wrap it in another, and backtrack. The TRY_BEGIN will see a wrapped error and then it will unwrap and re-raise the error. If <exp> raises, then TRY_BEGIN will catch the error and jump to the handler, but the TRY_BEGIN will not stack_save() in that case, so on raise/backtrack the TRY_BEGIN will not execute again (nor will the TRY_END).
Configuration menu - View commit details
-
Copy full SHA for 148345a - Browse repository at this point
Copy the full SHA 148345aView commit details -
Add try-catch-finally and fix jqlang#1608
We can't really fix the issues with try-catch syntax, but we can introduce `try` as a function-like syntax, using `try(exp; handler)` in preference to `(try exp catch (handler))`. While we're at it, we can use the new `UNWINDING` opcode to implement try-catch-finally as `try(exp; handler; finally)`.
Configuration menu - View commit details
-
Copy full SHA for 300f85b - Browse repository at this point
Copy the full SHA 300f85bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a09a94 - Browse repository at this point
Copy the full SHA 0a09a94View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c09ac6 - Browse repository at this point
Copy the full SHA 3c09ac6View commit details -
Configuration menu - View commit details
-
Copy full SHA for df08f05 - Browse repository at this point
Copy the full SHA df08f05View commit details -
Configuration menu - View commit details
-
Copy full SHA for f339f1d - Browse repository at this point
Copy the full SHA f339f1dView commit details
Commits on Jan 21, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 2ddd800 - Browse repository at this point
Copy the full SHA 2ddd800View commit details
Commits on Jan 25, 2020
-
block_inline: multi-inst inlining of functions with arguments
* copies the inlined function's body * injects the instructions instead of the corresponding CALL_JQ * rebinds the function's parameter calls to the corresponding argument closures * injects the argument closures into the destination's code
Configuration menu - View commit details
-
Copy full SHA for c53fadf - Browse repository at this point
Copy the full SHA c53fadfView commit details -
WIP: coroutines++: new instruction OUT, revision of TOP, RET
This is the first commit that introduces the new instructions and the new execution loop START; CALL_JQ main_or_coroutine; OUT; BACKTRACK START is going to throw the handle in the parent context and initiate the read in the child context. More to come
Configuration menu - View commit details
-
Copy full SHA for d31baed - Browse repository at this point
Copy the full SHA d31baedView commit details -
Configuration menu - View commit details
-
Copy full SHA for 45603e5 - Browse repository at this point
Copy the full SHA 45603e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9675459 - Browse repository at this point
Copy the full SHA 9675459View commit details -
Configuration menu - View commit details
-
Copy full SHA for ad89e99 - Browse repository at this point
Copy the full SHA ad89e99View commit details -
block_inline: properly update imm.target of the copied instruction
in case we copy a block of instructions and some of them are branching to the others within the same block, then the copied instructions would still carry invalid target references. To fix it we introduce a copy state so that it's easy to remap the affected instructions.
Configuration menu - View commit details
-
Copy full SHA for 65e3ea2 - Browse repository at this point
Copy the full SHA 65e3ea2View commit details
Commits on Jan 26, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 32de6a0 - Browse repository at this point
Copy the full SHA 32de6a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f867be - Browse repository at this point
Copy the full SHA 4f867beView commit details -
Configuration menu - View commit details
-
Copy full SHA for d449484 - Browse repository at this point
Copy the full SHA d449484View commit details
Commits on Jan 27, 2020
-
Configuration menu - View commit details
-
Copy full SHA for f1f29bd - Browse repository at this point
Copy the full SHA f1f29bdView commit details
Commits on Jan 28, 2020
-
Add back the lost
output
builtinLeonid Usov committedJan 28, 2020 Configuration menu - View commit details
-
Copy full SHA for 5379ef2 - Browse repository at this point
Copy the full SHA 5379ef2View commit details
Commits on Jan 29, 2020
-
Configuration menu - View commit details
-
Copy full SHA for b1d67fd - Browse repository at this point
Copy the full SHA b1d67fdView commit details -
compile: account for all backtracking instructions
when considering to add RET_JQ at the end of a block. currently two instructions backtrack: BACKTRACK and TAIL_OUT
Configuration menu - View commit details
-
Copy full SHA for 48b3a75 - Browse repository at this point
Copy the full SHA 48b3a75View commit details -
Configuration menu - View commit details
-
Copy full SHA for ad5405f - Browse repository at this point
Copy the full SHA ad5405fView commit details
Commits on Jan 31, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 9fdf955 - Browse repository at this point
Copy the full SHA 9fdf955View commit details -
Fix jqlang#2051 -- iterate arrays backwards in path ctx
In case a path gets deleted, we should iterate arrays backwards in path/1 context.
Configuration menu - View commit details
-
Copy full SHA for 9c9013b - Browse repository at this point
Copy the full SHA 9c9013bView commit details -
Configuration menu - View commit details
-
Copy full SHA for fd5dc00 - Browse repository at this point
Copy the full SHA fd5dc00View commit details
Commits on Feb 1, 2020
-
codef/1: set the coexp context to jv_null()
Leonid Usov committedFeb 1, 2020 Configuration menu - View commit details
-
Copy full SHA for 15d72dd - Browse repository at this point
Copy the full SHA 15d72ddView commit details -
compile: yet less preliminary optimizations
Now the RET_JQ will only be omitted for the top level program. It will look uglier being present after BACKTRACKs or TAIL_OUTs, but it's at least safe
Leonid Usov committedFeb 1, 2020 Configuration menu - View commit details
-
Copy full SHA for c299d39 - Browse repository at this point
Copy the full SHA c299d39View commit details -
block_inline: fix the case when a block of a single CALL_JQ gets inli…
…ned; fix a potential memory leak For the case of a block_is_single(block) input, the function interface is updated to return an updated block Additionally, a new inst_dispose method is called on the CALL_JQ instruction to make sure that the resources which are overwritten are properly released.
Leonid Usov committedFeb 1, 2020 Configuration menu - View commit details
-
Copy full SHA for f05c44d - Browse repository at this point
Copy the full SHA f05c44dView commit details -
VM: fix the forkpoint address for the START instruction
Leonid Usov committedFeb 1, 2020 Configuration menu - View commit details
-
Copy full SHA for 89c1a13 - Browse repository at this point
Copy the full SHA 89c1a13View commit details -
VM: correctly process the case when an exception has reached START
Leonid Usov committedFeb 1, 2020 Configuration menu - View commit details
-
Copy full SHA for b516ad3 - Browse repository at this point
Copy the full SHA b516ad3View commit details -
typedef enum jq_input_mode_enum { // JQ VM reaches a state where it requires the next input // when it backtracks to START. // At this point the VM can behave differently, and this enum // describes the possible actions VM will take. // In the RETURN_EMPTY mode jq_next behaves like it always did: // it will return a jv_invalid() without any message // to show that additional input is needed // The caller in this case may choose to restart the VM // or set the next value and call jq_next again JQ_INPUT_RETURN_EMPTY, // In the CALLBACK mode jq_next will issue an input callback // in case it will require more input. This will be equivalent // to when the jq program reaches the `input` instruction. // passing an invalid to the callback will immediately request input again // passing an invalid with message will raise this as an error and halt JQ_INPUT_CALLBACK, // A backward compatible default mode JQ_INPUT_DEFAULT = JQ_INPUT_RETURN_EMPTY } jq_input_mode;
Leonid Usov committedFeb 1, 2020 Configuration menu - View commit details
-
Copy full SHA for e20de9b - Browse repository at this point
Copy the full SHA e20de9bView commit details -
Revert "Fix jqlang#2051 -- iterate arrays backwards in path ctx"
This reverts commit 9c9013b.
Leonid Usov committedFeb 1, 2020 Configuration menu - View commit details
-
Copy full SHA for e1da52b - Browse repository at this point
Copy the full SHA e1da52bView commit details
Commits on Feb 7, 2020
-
block_inline: improve performance of the inlining
Leonid Usov committedFeb 7, 2020 Configuration menu - View commit details
-
Copy full SHA for d04ff52 - Browse repository at this point
Copy the full SHA d04ff52View commit details
Commits on Feb 9, 2020
-
Configuration menu - View commit details
-
Copy full SHA for dfe2d80 - Browse repository at this point
Copy the full SHA dfe2d80View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3202411 - Browse repository at this point
Copy the full SHA 3202411View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0164f63 - Browse repository at this point
Copy the full SHA 0164f63View commit details
Commits on Feb 10, 2020
-
Configuration menu - View commit details
-
Copy full SHA for f88fff7 - Browse repository at this point
Copy the full SHA f88fff7View commit details -
Configuration menu - View commit details
-
Copy full SHA for cdf2ba6 - Browse repository at this point
Copy the full SHA cdf2ba6View commit details