[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNU Guile 2.2.7 released

From: Ludovic Courtès
Subject: GNU Guile 2.2.7 released
Date: Sat, 07 Mar 2020 20:27:54 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

We are delighted to announce GNU Guile release 2.2.7, the seventh
bug-fix release of the “legacy” 2.2 series (the current stable 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, 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

Guile 2.2.7 can be installed in parallel with Guile 3.0.x; see

                             *  *  *

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

* 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

** 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'

** texinfo properly renders @acronym in plain text

** 'scm_port_poll' honors "w" flags

** Do not record LDFLAGS in .pc file

** 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:   (18MB)   (9MB)   (11MB)

Here are the GPG detached signatures[*]:

Use a mirror for higher download bandwidth:

Here are the SHA256 checksums:


[*] 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 \
      --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ès and Andy Wingo.

Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]