GNU Guile 2.2.4 released

[email protected] (Ludovic Courtès) Mon, 02 Jul 2018 10:43:49 +0200
Newsgroups gmane.lisp.guile.devel,gmane.lisp.guile.user,gmane.lisp.guile.sources
Message-ID <[email protected]>
We are delighted to announce GNU Guile release 2.2.4, the fourth bug-fix
release in the 2.2 stable release series.  See the NEWS excerpt that
follows for full details.

                             *  *  *

Guile is an implementation of the Scheme programming language.

The Guile web page is located at https://gnu.org/software/guile/, and
among other things, it contains a copy of the Guile manual and pointers
to more resources.

Guile can run interactively, as a script interpreter, and as a Scheme
compiler to VM bytecode.  It is also packaged as a library so that
applications can easily incorporate a complete Scheme interpreter/VM.
An application can use Guile as an extension language, a clean and
powerful configuration language, or as multi-purpose "glue" to connect
primitives provided by the application.  It is easy to call Scheme code
from C code and vice versa.  Applications can add new functions, data
types, control structures, and even syntax to Guile, to create a
domain-specific language tailored to the task at hand.

Guile implements many common Scheme standards, including R5RS, R6RS, and
a number of SRFIs.  In addition, Guile includes its own module system,
full access to POSIX system calls, networking support, multiple threads,
dynamic linking, a foreign function call interface, and powerful string
processing.

Guile 2.2.4 can be installed in parallel with Guile 2.0.x; see
https://www.gnu.org/software/guile/manual/html_node/Parallel-Installations.html.

                             *  *  *

Changes in 2.2.4 (since 2.2.3):

* New interfaces and functionality

** SRFI-71 (Extended LET-syntax for multiple values)

Guile now includes SRFI-71, which extends let, let*, and letrec to
support assigning multiple values.  See "SRFI-71" in the manual for
details.

** (web client) export 'http-request' procedure

The 'http-request' procedure is the generalized procedure underneath
'http-get', 'http-post', etc.

** GDB support now registers the 'guile-backtrace' GDB command

The 'guile-backtrace' GDB command displays a backtrace of the VM stack
for the current thread.

** Recognize RISC-V compilation targets in (system base target)

* Bug fixes

** Fix stack-marking bug affecting multi-threaded programs
   (<https://bugs.gnu.org/28211>)

** Add missing SYNC_IP calls in the VM

These could cause multi-threaded code to crash.

** Fix multi-threaded access to modules
   (<https://bugs.gnu.org/30602>, <https://bugs.gnu.org/31879>,
    and <https://bugs.gnu.org/31878>)

** (ice-9 match) now has better documentation

** 'get-bytevector-n' and 'get-bytevector-n!' can now read more than 4 GB

** Fix cross-compilation support for elisp

** Fix error reporting in 'load-thunk-from-memory'

** Fix GOOPS 'instance?' to work on objects that aren't structs
   (<https://bugs.gnu.org/31606>)

** Fix type inference for bitwise logical operators
   (<https://bugs.gnu.org/31474>)

** Avoid inexact arithmetic in the type inferrer for 'sqrt'

** Fix floating point unboxing regression in 2.2.3
   (<https://bugs.gnu.org/30020>)

** Fix eta-conversion edge cases in peval (<https://bugs.gnu.org/29520>)

** Correctly interpret SRFI-18 timeout parameters
   (<https://bugs.gnu.org/29704>)

** 'select' returns empty sets upon EINTR and EAGAIN
   (<https://bugs.gnu.org/30368>)

** Restore pre-2.2.3 '%fresh-auto-compile' behavior

This reverts an incorrect fix for <https://bugs.gnu.org/29226>.

                             *  *  *

Here are the compressed sources:
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.gz   (18MB)
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.lz   (9MB)
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.xz   (11MB)

Here are the GPG detached signatures[*]:
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.gz.sig
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.lz.sig
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.xz.sig

Use a mirror for higher download bandwidth:
  https://www.gnu.org/order/ftp.html

Here are the SHA256 checksums:

33b904c0bf4e48e156f3fb1d0e6b0392033bd610c6c9d9a0410c6e0ea96a3e5c  guile-2.2.4.tar.gz
b72724cb59d4cc1eed005a10a960831efe0f1f7bf17cc6a88fbfab0a48b4bf5c  guile-2.2.4.tar.lz
d9e8b94af7b206fcf52bec6501b921bd7d0bd7a31fb7e896a35ba8253678e31e  guile-2.2.4.tar.xz

[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact.  First, be sure to download both the .sig file
and the corresponding tarball.  Then, run a command like this:

  gpg --verify guile-2.2.4.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

  gpg --keyserver keys.gnupg.net --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
  Autoconf 2.69
  Automake 1.16.1
  Libtool 2.4.6
  Makeinfo 6.5
  Gnulib v0.1-1157-gb03f418

Thanks to Arun Isaac, Christopher Lemmer Webber, Jan Smydke, and
Shea Levy who all contributed to this release.

Happy hacking with Guile,

Andy Wingo, Ludovic Courtès, and Mark H Weaver.
signature.asc (application/pgp-signature, 832 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAls55cUACgkQCQsRmT2a
67UiJBAAkoKICGCE2+Vr2JaFnHLrc86BYCO1vZtam8SfLdmsJQMpE0b9iqEXrf+X
JUg0Gtv5opZiKPbY88fS1C4L3CY5KlHEDm93kKo1doFHP/LFdLU7gNYwNftc6m3W
C9e/AlJ7A9xrc2JdSdeePPCiKZz9PgCEYLwVywwArrwrT7q9TA1MS0DVocL5XFfq
kW5QhnQqRs2IhPSjZ0k6UYY7OSB1R5rPvrrPbe2b2oUFTAPNhUIIc7C4UqXdiPSq
wX232xvoRzzg6Ncz/eKqzDQjmuO3T/GPEAftPsJj2nxDd+JNfkgHAmgyFWveIeKl
a9daJpBAw3jNbzaw99NylxSqc6wRbqVSkuhZCtrhBsxwNmAWO4U3JL9MACaqRzid
jFABVYrwVACeLxBx9UNd2zRJCwdhF4r8oRbV22Z5aPJGpD5F7CkZ2dH7RUWbX2vz
5Hj7fF8SnDrarr4LYvb+aCSW0FxJWp1HJR7xNTnaIsTCTM3Yud9/i6QKk3t1tKlu
h7GNI+/9PNVPeqpv9bf43DTuciB8svPM+RhLIsRjfJNLjXiMCdve0hjdMYQvlIqm
m149iBgtUUfP69dgOol+TicyKt+29T5VV9SrqS2LyYSyLD2/Qq9HvzPzAYr5HV+x
oByHVr68nZR2XaztwvglSwSlCVTIT9hWveBRyfhCnWfP/zLmIMM=
=txFK
-----END PGP SIGNATURE-----