GNU Guile 2.2.7 released

Ludovic Courtès <[email protected]> Sat, 07 Mar 2020 20:27:54 +0100
Newsgroups gmane.lisp.guile.sources,gmane.lisp.guile.user,gmane.lisp.guile.devel
Message-ID <[email protected]>
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

We are delighted to announce GNU Guile release 2.2.7, the seventh
bug-fix release of the =E2=80=9Clegacy=E2=80=9D 2.2 series (the current sta=
ble series is
3.0).  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.7 can be installed in parallel with Guile 3.0.x; see
https://www.gnu.org/software/guile/manual/html_node/Parallel-Installations.=
html.

                             *  *  *

Changes in 2.2.7 (since 2.2.6)

* New interfaces and functionality

** (texinfo plain-text) now exports '*line-width*' fluid

The new '*line-width*' fluid allows users to specify the width of a line
for the purposes of line wrapping.  See "texinfo plain-text" in the
manual.

* Bug fixes

** Reduce GC pressure when using bignums

Guile no longer installs a finalizer on each bignum (large integer) it
creates.  This significantly improves speed and memory usage on
applications that make heavy use of bignums, such as the compiler
itself.

** Fix peval bug that ignored excess arguments

In an expression like:

  ((lambda ()
     (define (add1 n)(+ 1 n))
     (add1 1 2)))

the compiler (specifically 'peval') would silently ignore the excess
argument to 'add1'.

** Respect thread local fluid defaults

Previously (fluid-ref (make-thread-local-fluid #t)) would return #f.
This is now fixed.

** Fix non-deterministic crash in 'finalization_thread_proc'
   (<https://bugs.gnu.org/37757>)

** texinfo properly renders @acronym in plain text
   (<https://bugs.gnu.org/37846>)

** 'scm_port_poll' honors "w" flags
   (<https://bugs.gnu.org/36709>)

** Do not record LDFLAGS in .pc file
   (<https://bugs.gnu.org/36339>)

** Fix Readline configure check for the sake of libedit

This fixes builds on macOS against the system-provided libedit.

** Fix build on platforms where the stack grows upwards

                             *  *  *

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

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

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

Here are the SHA256 checksums:

44b4c5fbbe257ccdebea18420212c9b3e90c3c86a54920d8554039fc6769a007  guile-2.2=
.7.tar.gz
5de7c4d28fa25c232512a4d1e76e6152a721dde568a6b1310971e1ea49e18c46  guile-2.2=
.7.tar.lz
cdf776ea5f29430b1258209630555beea6d2be5481f9da4d64986b077ff37504  guile-2.2=
.7.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.7.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 pool.sks-keyservers.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.7
  Gnulib v0.1-1157-gb03f418


Happy hacking with Guile!

Ludovic Court=C3=A8s and Andy Wingo.

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAl5j9boACgkQCQsRmT2a
67Xwwg//f/Lz4OAhAVL4C3jPz2igs7ws5CyKj/oiJDbm6mjNjJc7CjbM6grVDCei
U3gn+cqNRp1HxIUdneYB1T1F1iyKHs/dXD8M9xzz827HpyvQ+L/3UXekt+1H3fVi
I0bGLqCcX844CUKz2ysgQThZWZ0tngAwAbkV7GRss/VM7TOQlaGOgJm9U5fpE7Xp
8WRelpZlzfILLaU4oMe7Sa5DX6ScVvy4y0WlJa1LUPKca/aN4bliX2k4SclU5a2+
8gkxRCHT4jEgwJjrioN+04Sab3RvpXUzUykA0xMRQLC45hIKwaZydROhRPReexx5
E2TjzolTjvq2041InIILjVprujK5UOSuHj0vw6p1GGP32fbbY0DzAFXMoj0UZwRi
a9fBFLsDAllCdaSRt+rvEA48omH/b8pLLFjQKJIoH8o+hulqGDj5ZJ2/78wpGNU7
fmHJ4t9t2Z3KoVmtI3q/r8wQ/ZveVLQyYgHgWqi7hL/sHjrmMTGS3bIhixZh5ZrU
njDK6bzBssoCjVvaC9/v4bfTdrcx0wNDvqF3tsMNeryBP3AhDhX/4PLp+ND3yACv
sOzDh8OEbS4+/qWEvo9ioqbhWVhIj6nI9zQXIqn5Vc2s51nm6psCW2jdXMAemCdo
i4418GKqvI22mNm82G/+Vms+RZJMe3anZ5yq0+6uqu0eP1p6Yz8=
=cXH/
-----END PGP SIGNATURE-----
--=-=-=--