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 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' () ** 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: 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ès and Andy Wingo.