From 51b5e5ddd3bf68471dbf20f5bca1a0db24036d65 Mon Sep 17 00:00:00 2001 From: nikita Date: Mon, 22 Jun 2020 08:01:49 +0000 Subject: [PATCH] textproc/guile-json: Update to 4.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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) --- textproc/guile-json/Makefile | 4 ++-- 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 3d190be94f90..11cd856319ad 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 6f84d1c5b031..33cc589d37f5 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