Nice work! Thanks for working on it! I think maybe we can expect 2.2 released end of this year, right? ;-)
Best regards. On Wed, 2016-09-14 at 13:41 +0200, Andy Wingo wrote: > We are pleased to announce GNU Guile release 2.1.4. > > Guile 2.1.4 is the fourth pre-release in what will eventually become the > 2.2 release series. We encourage you to test this release and provide > feedback to guile-devel@gnu.org. > > This release adds an atomic reference facility and fixes many small > bugs. See the full NEWS below, for details. > > The Guile web page is located at http://gnu.org/software/guile/, and > among other things, it contains a copy of the Guile manual and pointers > to more resources. > > Guile is an implementation of the Scheme programming language, with > support for many SRFIs, packaged for use in a wide variety of > environments. In addition to implementing the R5RS Scheme standard, > Guile includes a module system, full access to POSIX system calls, > networking support, multiple threads, dynamic linking, a foreign > function call interface, and powerful string processing. > > 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 2.1.4 can be installed in parallel with Guile 2.0.x; see > http://www.gnu.org/software/guile/manual/html_node/Parallel-Installations.html > . > > A more detailed NEWS summary follows these details on how to get the > Guile sources. > > Here are the compressed sources: > http://alpha.gnu.org/gnu/guile/guile-2.1.4.tar.gz (17MB) > http://alpha.gnu.org/gnu/guile/guile-2.1.4.tar.xz (10MB) > > Here are the GPG detached signatures[*]: > http://alpha.gnu.org/gnu/guile/guile-2.1.4.tar.gz.sig > http://alpha.gnu.org/gnu/guile/guile-2.1.4.tar.xz.sig > > Use a mirror for higher download bandwidth: > http://www.gnu.org/order/ftp.html > > Here are the SHA256 checksums: > > 04dd7b9ea58644b5631e74c212678db6498f945c5dd8f3900c01409c054ad7c3 guile- > 2.1.4.tar.gz > 326440e5041892ea8f99828178385f6066f936353d3a91404b88986f91f713f1 guile- > 2.1.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.1.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 > FF478FB264DE32EC296725A3DDC0F5358812F8F2 > > and rerun the 'gpg --verify' command. > > This release was bootstrapped with the following tools: > Autoconf 2.69 > Automake 1.15 > Libtool 2.4.6 > Gnulib v0.1-800-g68b6ade > Makeinfo 6.1 > > > Changes in 2.1.4 (changes since the 2.1.3 alpha release): > > * Notable changes > ** C99 required > > Following Emacs, you must use a C99-capable compiler when building > Guile. In the future we also expect require C99 to use Guile's C > interface, at least for `stdint' support. > > * New interfaces > ** Implement R6RS custom binary input/output ports > > See "Custom Ports" in the manual. > > ** Implement R6RS output-buffer-mode > ** Implement R6RS bytevector->string, string->bytevector > > See "R6RS Transcoders" in the manual. > > ** Thread-safe atomic boxes (references) > > See "Atomics" in the manual. > > ** File descriptor finalizers > > See "Ports and File Descriptors" in the manual. > > * Performance improvements > ** Added unboxing support for `logxor' > ** Better integer unboxing > > * Incompatible changes > ** Statically scoped module duplicate handlers > > It used to be that if a module did not specify a #:duplicates handler, > when a name was first referenced in that module and multiple imported > modules provide that name, the value of the > `default-duplicate-binding-handlers' parameter would be used to resolve > the duplicate bindings. We have changed so that instead a module > defaults to the set of handlers described in the manual. If the module > specifies #:duplicates, of course we use that. The > `default-duplicate-binding-handlers' parameter now simply accesses the > handlers of the current module, instead of some global value. > > * Bug fixes > ** Better MinGW support > > `system*' is now supported on MinGW targets. > > ** Avoid flushing buffers on ftell > > Fixes regression relative to Guile 2.0. > > ** HTTP library does not require ETag lists to be qstrings > > ** Fix bug importing specific bindings with #:select > > It used to be that if #:select didn't find a binding in the public > interface of a module, it would actually grovel in the module's > unexported private bindings. This was not intended and is now fixed. > > ** Stronger thread-safety guarantees for port implementations > > See "I/O Extensions" in the manual for notes on threads and port > implementations. > > ** Fix fixnum-range checks in R6RS fixnum bitops > (http://bugs.gnu.org/14917) > > ** Fix `monitor' macro > > ** Fix bug with GUILE_INSTALL_LOCALE=1 and default port encodings > > If GUILE_INSTALL_LOCALE is unset in the environment or set to 1, Guile > will call setlocale() to install the locale. However it was neglecting > to set the default port encoding to the locale's encoding. This is > fixed. > > ** Various compiler bug fixes >