From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel,gmane.lisp.guile.user,gmane.lisp.guile.sources Subject: GNU Guile 2.1.4 released [beta] Date: Wed, 14 Sep 2016 13:41:01 +0200 Message-ID: <87bmzqbtf6.fsf@pobox.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1473853289 30391 195.159.176.226 (14 Sep 2016 11:41:29 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 14 Sep 2016 11:41:29 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) To: guile-user@gnu.org, guile-devel@gnu.org, guile-sources@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Sep 14 13:41:23 2016 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bk8Z8-0007E4-19 for guile-devel@m.gmane.org; Wed, 14 Sep 2016 13:41:22 +0200 Original-Received: from localhost ([::1]:55332 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bk8Z6-0001dJ-5T for guile-devel@m.gmane.org; Wed, 14 Sep 2016 07:41:20 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55156) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bk8Z1-0001cX-SZ for guile-devel@gnu.org; Wed, 14 Sep 2016 07:41:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bk8Yw-0002g8-R9 for guile-devel@gnu.org; Wed, 14 Sep 2016 07:41:14 -0400 Original-Received: from pb-sasl2.pobox.com ([64.147.108.67]:63010 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bk8Yw-0002fq-NC; Wed, 14 Sep 2016 07:41:10 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-sasl2.pobox.com (Postfix) with ESMTP id 7E48F34EE1; Wed, 14 Sep 2016 07:41:08 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to :subject:date:message-id:mime-version:content-type; s=sasl; bh=w yr3y8OiUIY35eDpmt+AeuFcm/s=; b=rl7gUWzGrBy2BRQbBUG1zY4CkQ49fXIOB 1Y6wdRgLqnl5Qfww3/URNTsd/ZQ00eWlHr+FMloGTZ8+swE+0ormCGijZC22JsQu k46CiDxZWH2pbtbkhn4flrkOgmlcvyxGOCIzwJPCt1NiVV1knfuEFagz4WQfT0qM BAqyulRitQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:subject :date:message-id:mime-version:content-type; q=dns; s=sasl; b=TkB +LhC1MHhrgd+mFDqbZK2Z1Oe78snrK62Xjmo3iPhoFnPvptJttqsgswtYVJsM+pe e9HZ7wLcPa3r+F9Ers3+CRv9M5M7eTQ4klTsJkT5gLuypuaR5852xL4niNvQd2Sp GEZjQxHtUplEOPl/1L62zsZ2A8kEISEtaZf6uiDs= Original-Received: from pb-sasl2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-sasl2.pobox.com (Postfix) with ESMTP id 7637934EE0; Wed, 14 Sep 2016 07:41:08 -0400 (EDT) Original-Received: from clucks (unknown [88.160.190.192]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by pb-sasl2.pobox.com (Postfix) with ESMTPSA id B8B7034EDF; Wed, 14 Sep 2016 07:41:07 -0400 (EDT) X-Pobox-Relay-ID: 205548D8-7A70-11E6-B284-0CE5F1301B6D-02397024!pb-sasl2.pobox.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 64.147.108.67 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.org gmane.lisp.guile.devel:18663 gmane.lisp.guile.user:12909 gmane.lisp.guile.sources:452 Archived-At: 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