unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* GNU Guile 2.1.4 released [beta]
@ 2016-09-14 11:41 Andy Wingo
  2016-09-14 17:45 ` Nala Ginrut
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Andy Wingo @ 2016-09-14 11:41 UTC (permalink / raw)
  To: guile-user, guile-devel, guile-sources

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



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-14 11:41 GNU Guile 2.1.4 released [beta] Andy Wingo
@ 2016-09-14 17:45 ` Nala Ginrut
  2016-09-15 19:19 ` Jan Wedekind
  2016-09-15 19:45 ` Jan Wedekind
  2 siblings, 0 replies; 12+ messages in thread
From: Nala Ginrut @ 2016-09-14 17:45 UTC (permalink / raw)
  To: Andy Wingo, guile-user, guile-devel, guile-sources

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
> 



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-14 11:41 GNU Guile 2.1.4 released [beta] Andy Wingo
  2016-09-14 17:45 ` Nala Ginrut
@ 2016-09-15 19:19 ` Jan Wedekind
  2016-09-15 19:44   ` David Pirotte
  2016-09-15 19:45 ` Jan Wedekind
  2 siblings, 1 reply; 12+ messages in thread
From: Jan Wedekind @ 2016-09-15 19:19 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-devel

Thanks a lot for the work. I am trying to run my project "aiscm" with it.
   I noticed that slots are now objects themselves. So instead of (car <>), 
one can use (slot-ref <> 'name). Please let me know if there is a better 
way to get the slot names of a class.

     (use-modules (oop goops))
     (define-class <values> ()
       (a #:init-keyword #:a))

     (car (car (class-slots (class-of (make <values> #:a 1))))); Guile 2.0

     (slot-ref (car (class-slots (class-of (make <values> #:a 1)))) 'name); Guile 2.1.4

Regards
Jan

On Wed, 14 Sep 2016, 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
>
>



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-15 19:19 ` Jan Wedekind
@ 2016-09-15 19:44   ` David Pirotte
  2016-09-15 20:00     ` Jan Wedekind
  0 siblings, 1 reply; 12+ messages in thread
From: David Pirotte @ 2016-09-15 19:44 UTC (permalink / raw)
  To: Jan Wedekind; +Cc: Andy Wingo, guile-devel

[-- Attachment #1: Type: text/plain, Size: 654 bytes --]

Hi Jan,

> Thanks a lot for the work. I am trying to run my project "aiscm" with it.
>    I noticed that slots are now objects themselves. So instead of (car <>), 
> one can use (slot-ref <> 'name). Please let me know if there is a better 
> way to get the slot names of a class.

>      (use-modules (oop goops))
>      (define-class <values> ()
>        (a #:init-keyword #:a))
> 
>      (car (car (class-slots (class-of (make <values> #:a 1))))); Guile 2.0
>      (slot-ref (car (class-slots (class-of (make <values> #:a 1)))) 'name); Guile
> 2.1.4

	slot-definition-name	

See the '8.8 Introspection' section in the manual

David

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-14 11:41 GNU Guile 2.1.4 released [beta] Andy Wingo
  2016-09-14 17:45 ` Nala Ginrut
  2016-09-15 19:19 ` Jan Wedekind
@ 2016-09-15 19:45 ` Jan Wedekind
  2016-09-15 20:07   ` Jan Wedekind
  2016-09-16 15:49   ` David Pirotte
  2 siblings, 2 replies; 12+ messages in thread
From: Jan Wedekind @ 2016-09-15 19:45 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-devel

Hi,
I haven't managed to isolate it properly but I observed some strange 
problem with "concatenate" (using my "aiscm" library).

     (define-method (match (i <integer>) . args) ...)
     ...
     (apply match (concatenate (list (list 1) (list 2 2 3 4 5 6 ))))
     oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure vector-ref: Value out of range: 7

A workaround is to replace "concatenate" with "apply match".
I haven't managed to isolate the bug properly so far.

Regards
Jan

On Wed, 14 Sep 2016, 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
>
>



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-15 19:44   ` David Pirotte
@ 2016-09-15 20:00     ` Jan Wedekind
  0 siblings, 0 replies; 12+ messages in thread
From: Jan Wedekind @ 2016-09-15 20:00 UTC (permalink / raw)
  To: David Pirotte; +Cc: Andy Wingo, guile-devel

On Thu, 15 Sep 2016, David Pirotte wrote:

> Hi Jan,
>
>> Thanks a lot for the work. I am trying to run my project "aiscm" with it.
>>    I noticed that slots are now objects themselves. So instead of (car <>),
>> one can use (slot-ref <> 'name). Please let me know if there is a better
>> way to get the slot names of a class.
>
>>      (use-modules (oop goops))
>>      (define-class <values> ()
>>        (a #:init-keyword #:a))
>>
>>      (car (car (class-slots (class-of (make <values> #:a 1))))); Guile 2.0
>>      (slot-ref (car (class-slots (class-of (make <values> #:a 1)))) 'name); Guile
>> 2.1.4
>
> 	slot-definition-name
>
> See the '8.8 Introspection' section in the manual
>
> David
>

Thanks, that works with both versions of Guile :)



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-15 19:45 ` Jan Wedekind
@ 2016-09-15 20:07   ` Jan Wedekind
  2016-09-16 15:49   ` David Pirotte
  1 sibling, 0 replies; 12+ messages in thread
From: Jan Wedekind @ 2016-09-15 20:07 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-devel

A quick note that the workaround is not valid.
Sorry if I caused confusion.

> Hi,
> I haven't managed to isolate it properly but I observed some strange problem 
> with "concatenate" (using my "aiscm" library).
>
>    (define-method (match (i <integer>) . args) ...)
>    ...
>    (apply match (concatenate (list (list 1) (list 2 2 3 4 5 6 ))))
>    oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure vector-ref: 
> Value out of range: 7
>
> A workaround is to replace "concatenate" with "apply match".
> I haven't managed to isolate the bug properly so far.
>
> Regards
> Jan



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-15 19:45 ` Jan Wedekind
  2016-09-15 20:07   ` Jan Wedekind
@ 2016-09-16 15:49   ` David Pirotte
  2016-09-16 19:42     ` Jan Wedekind
  2016-09-16 20:42     ` Jan Wedekind
  1 sibling, 2 replies; 12+ messages in thread
From: David Pirotte @ 2016-09-16 15:49 UTC (permalink / raw)
  To: Jan Wedekind; +Cc: Andy Wingo, guile-devel

[-- Attachment #1: Type: text/plain, Size: 661 bytes --]

Jan,

> I haven't managed to isolate it properly but I observed some strange 
> problem with "concatenate" (using my "aiscm" library).

>      (define-method (match (i <integer>) . args) ...)
>      ...
>      (apply match (concatenate (list (list 1) (list 2 2 3 4 5 6 ))))
>      oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure vector-ref: Value
> out of range: 7

	impossible to help you on this because the snipset is incomplete
	please provide a complete match definition

Also, I think match is really a 'problematic' name, because it is defined in
(ice-9 match), and most of us almost  always import this module.

Chers,
David

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-16 15:49   ` David Pirotte
@ 2016-09-16 19:42     ` Jan Wedekind
  2016-09-16 20:42     ` Jan Wedekind
  1 sibling, 0 replies; 12+ messages in thread
From: Jan Wedekind @ 2016-09-16 19:42 UTC (permalink / raw)
  To: David Pirotte; +Cc: Andy Wingo, guile-devel

[-- Attachment #1: Type: text/plain, Size: 978 bytes --]

Ok, no worries. I will rename "match".
The test suite of "aiscm" fails but I didn't manage to create a small example so far.

On 16. September 2016 16:49:51 GMT+00:00, David Pirotte <david@altosw.be> wrote:
>Jan,
>
>> I haven't managed to isolate it properly but I observed some strange 
>> problem with "concatenate" (using my "aiscm" library).
>
>>      (define-method (match (i <integer>) . args) ...)
>>      ...
>>      (apply match (concatenate (list (list 1) (list 2 2 3 4 5 6 ))))
>>      oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure
>vector-ref: Value
>> out of range: 7
>
>	impossible to help you on this because the snipset is incomplete
>	please provide a complete match definition
>
>Also, I think match is really a 'problematic' name, because it is
>defined in
>(ice-9 match), and most of us almost  always import this module.
>
>Chers,
>David

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

[-- Attachment #2: Type: text/html, Size: 1577 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-16 15:49   ` David Pirotte
  2016-09-16 19:42     ` Jan Wedekind
@ 2016-09-16 20:42     ` Jan Wedekind
  2016-09-17 14:07       ` David Pirotte
  1 sibling, 1 reply; 12+ messages in thread
From: Jan Wedekind @ 2016-09-16 20:42 UTC (permalink / raw)
  To: David Pirotte; +Cc: Andy Wingo, guile-devel

On Fri, 16 Sep 2016, David Pirotte wrote:
> Jan,
>
>> I haven't managed to isolate it properly but I observed some strange
>> problem with "concatenate" (using my "aiscm" library).
>
>>      (define-method (match (i <integer>) . args) ...)
>>      ...
>>      (apply match (concatenate (list (list 1) (list 2 2 3 4 5 6 ))))
>>      oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure vector-ref: Value
>> out of range: 7
>
> 	impossible to help you on this because the snipset is incomplete
> 	please provide a complete match definition
>
> Also, I think match is really a 'problematic' name, because it is defined in
> (ice-9 match), and most of us almost  always import this module.
>
> Chers,
> David
>

Hi David,

I managed to create a failing test. After a certain number of 
differently typed calls there is an error in "multiple-arity-dispatcher":

     (use-modules (oop goops))
     (define-generic native-type)
     (define-method (native-type (i <integer>) . args) 0)
     (define-method (native-type (i <real>) . args) 1)
     (define-method (native-type (b <boolean>) . args) 2)

     (native-type 1)
     (native-type 1.3)
     (native-type #f)
     (native-type 1 1.2)
     (native-type 1.4 2)
     (native-type 1.4 2 3)
     ;(native-type 1.4 1.5); add more calls as needed
     ;(native-type #f #t); add more calls as needed
;oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure vector-ref: Value out of range: 3
;
;Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
     ,bt
;In oop/goops.scm: 
;While executing meta-command: 
;ERROR: In procedure vector-set!: Value out of range: 5

I hope you can fix it. I can have a look as well but I don't understand 
the code well enough at the moment.

Regards
Jan



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-16 20:42     ` Jan Wedekind
@ 2016-09-17 14:07       ` David Pirotte
  2016-09-18 13:42         ` Jan Wedekind
  0 siblings, 1 reply; 12+ messages in thread
From: David Pirotte @ 2016-09-17 14:07 UTC (permalink / raw)
  To: Jan Wedekind; +Cc: Andy Wingo, guile-devel

[-- Attachment #1: Type: text/plain, Size: 659 bytes --]

Hello Jan,

>      (use-modules (oop goops))
>      (define-generic native-type)
>      (define-method (native-type (i <integer>) . args) 0)
>      (define-method (native-type (i <real>) . args) 1)
>      (define-method (native-type (b <boolean>) . args) 2)
> 
>      (native-type 1)
>      (native-type 1.3)
>      (native-type #f)
>      (native-type 1 1.2)
>      (native-type 1.4 2)
>      (native-type 1.4 2 3)

This works fine using 2.0.12, but indeed it fails using master [2.1.4 here]

Please report bug,  bug-guile at gnu dot org, with this snipset and the bug trace,
mentioning it works using 2.0.12, fails using master.

David

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: GNU Guile 2.1.4 released [beta]
  2016-09-17 14:07       ` David Pirotte
@ 2016-09-18 13:42         ` Jan Wedekind
  0 siblings, 0 replies; 12+ messages in thread
From: Jan Wedekind @ 2016-09-18 13:42 UTC (permalink / raw)
  To: David Pirotte; +Cc: Andy Wingo, guile-devel

[-- Attachment #1: Type: text/plain, Size: 979 bytes --]

Ok, thanks for testing it.
Here is the item in the bug tracker [1].

[1] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24454

On 17. September 2016 15:07:15 GMT+00:00, David Pirotte <david@altosw.be> wrote:
>Hello Jan,
>
>>      (use-modules (oop goops))
>>      (define-generic native-type)
>>      (define-method (native-type (i <integer>) . args) 0)
>>      (define-method (native-type (i <real>) . args) 1)
>>      (define-method (native-type (b <boolean>) . args) 2)
>> 
>>      (native-type 1)
>>      (native-type 1.3)
>>      (native-type #f)
>>      (native-type 1 1.2)
>>      (native-type 1.4 2)
>>      (native-type 1.4 2 3)
>
>This works fine using 2.0.12, but indeed it fails using master [2.1.4
>here]
>
>Please report bug,  bug-guile at gnu dot org, with this snipset and the
>bug trace,
>mentioning it works using 2.0.12, fails using master.
>
>David

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

[-- Attachment #2: Type: text/html, Size: 1508 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-09-18 13:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-14 11:41 GNU Guile 2.1.4 released [beta] Andy Wingo
2016-09-14 17:45 ` Nala Ginrut
2016-09-15 19:19 ` Jan Wedekind
2016-09-15 19:44   ` David Pirotte
2016-09-15 20:00     ` Jan Wedekind
2016-09-15 19:45 ` Jan Wedekind
2016-09-15 20:07   ` Jan Wedekind
2016-09-16 15:49   ` David Pirotte
2016-09-16 19:42     ` Jan Wedekind
2016-09-16 20:42     ` Jan Wedekind
2016-09-17 14:07       ` David Pirotte
2016-09-18 13:42         ` Jan Wedekind

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).