diff options
author | nikita <nikita@pkgsrc.org> | 2020-06-22 08:01:49 +0000 |
---|---|---|
committer | nikita <nikita@pkgsrc.org> | 2020-06-22 08:01:49 +0000 |
commit | 63e7a8200689a7cea0f65f81ec295ef05d4171e6 (patch) | |
tree | 5658f0fd1f7a3151a60c9f4cf6f59f519d03c41b | |
parent | 028e3ce79164f7a0bb1191689201654534383595 (diff) | |
download | pkgsrc-63e7a8200689a7cea0f65f81ec295ef05d4171e6.tar.gz |
textproc/guile-json: Update to 4.1.0
* Version 4.1.0 (Jun 6, 2020)
- Speed up number parsing by a 2x factor by avoiding using textual ports.
- Simplify unicode string builder.
- Improve string builder performance by not going back and forth with lists,
strings and characters.
* Version 4.0.1 (May 17, 2020)
- (scm->json-string) #:validate keyword argument should default to true as
stated in the documentation.
* Version 4.0.0 (May 16, 2020)
Breaking changes:
- (scm->json) and (scm->json-string) #:espace keyword argument has been
renamed to #:solidus.
- JSON null now defaults to the null symbol. This can be changed in all
public functions with the #:null keyword argument.
Bug fixes and improvements:
- Fix parsing of invalid numbers (e.g. "-").
- Go back to using (cond) instead of (match) since (match) reduces
performance.
- The json-parser record type has been removed as the record only contained
the port. Removing the need to access records also had a slight
performance increase.
- Use a plain list to read strings which brings significant speed
improvements.
- Replace `display` with `put-string` on JSON builder.
- Don't use map to parse expected string, simply use (string-ref).
(thanks to Linus Björnstam)
- Build array list with (cons) and (reverse). Big performance increase.
(suggested by Linus Björnstam)
- Check (eof-object?) last instead of first. This avoids unnecessary checks
which is the regular use-case.
(suggested by Linus Björnstam)
- Use string ports to parse numbers.
(suggested by Linus Björnstam)
- Don't need to use character-sets to detect whitespaces. JSON only defines
four possible types of whitespaces: space, linefeed, carriage return and
horizontal tab.
(suggested by Linus Björnstam)
* Version 3.5.0 (Apr 21, 2020)
- Simplify parser by using `match`. Idea taken from Chickadee's JSON parser
(https://dthompson.us/projects/chickadee.html). This also made it easier
to clean up some functions.
- Better handling of invalid numbers.
- Improve handling of EOF. Most parsing functions were not taking care of
it.
- Fix error when parsing objects with commas and no following elements are
found.
* Version 3.4.0 (Apr 11, 2020)
- Fix parsing 0 with an exponent.
(Fixes #55)
- Fix cross compilation.
(thanks to Jan Nieuwenhuizen)
-rw-r--r-- | textproc/guile-json/Makefile | 4 | ||||
-rw-r--r-- | textproc/guile-json/distinfo | 10 |
2 files changed, 7 insertions, 7 deletions
diff --git a/textproc/guile-json/Makefile b/textproc/guile-json/Makefile index 3d190be94f9..11cd856319a 100644 --- a/textproc/guile-json/Makefile +++ b/textproc/guile-json/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.3 2020/04/28 11:46:30 nikita Exp $ +# $NetBSD: Makefile,v 1.4 2020/06/22 08:01:49 nikita Exp $ -DISTNAME= guile-json-3.3.0 +DISTNAME= guile-json-4.1.0 CATEGORIES= textproc MASTER_SITES= http://download.savannah.gnu.org/releases/guile-json/ diff --git a/textproc/guile-json/distinfo b/textproc/guile-json/distinfo index 6f84d1c5b03..33cc589d37f 100644 --- a/textproc/guile-json/distinfo +++ b/textproc/guile-json/distinfo @@ -1,6 +1,6 @@ -$NetBSD: distinfo,v 1.2 2019/12/10 18:16:56 ng0 Exp $ +$NetBSD: distinfo,v 1.3 2020/06/22 08:01:49 nikita Exp $ -SHA1 (guile-json-3.3.0.tar.gz) = 201fe91ccf98fda03fca052415f8e654bd1ab029 -RMD160 (guile-json-3.3.0.tar.gz) = 7918490e21786723f64a6825837617422b70c26c -SHA512 (guile-json-3.3.0.tar.gz) = e4204e0e9649a308b6146c17ef2ed3fc1a804404d4bb6ce09b6fdb0d09823f185c333e87f5cc940e5affc08f5562550785511ca1f220efbc7ecfe15cedc14881 -Size (guile-json-3.3.0.tar.gz) = 122495 bytes +SHA1 (guile-json-4.1.0.tar.gz) = 102ec2518f596e43722e8e10b9cdec1eac541f00 +RMD160 (guile-json-4.1.0.tar.gz) = 1476ceac09fb600cb9679a274c46a8fb0fe1fac7 +SHA512 (guile-json-4.1.0.tar.gz) = ea8eef22d027968bd9faf3170eee7f781837e3a614a5523afe8f89c450408966de11e8082e7ebeacb6c3c50f52c1a033526b9c2491e1cb625ef985ad16eed9b2 +Size (guile-json-4.1.0.tar.gz) = 150870 bytes |