[Top][All Lists]

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

Re: Use of null (begin) blocks is deprecated in Guile stable V2.0, use u

From: David Kastrup
Subject: Re: Use of null (begin) blocks is deprecated in Guile stable V2.0, use unspecified? and/or *unspecified* instead.
Date: Tue, 22 Nov 2011 14:10:25 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux)

Ian Hulin <address@hidden> writes:

> This is forwarded from the Guile bug list.  Bug-squad please create a
> LilyPond issue for this - we need to change our code:
> Files affected appear (according to git grep) to be:
> lily/mensural-ligature.cc
> lily/system.cc
> scm/c++.scm
> scm/define-event-classes.scm
> scm/music-functions.scm

I am responsible for most of those, and will fix them.  No issue
required here.

For my defense, neither *unspecified* nor unspecified? are documented in
the Guile-1.8 manual though working at the prompt.  So while the 1.8
branch is still maintained, you should report this as a documentation
bug.  And after all, it _does_ affect upwards-compatibility.

And in fact, the only _documented_ way of generating this value from
Scheme is

 -- syntax: begin expr1 expr2 ...
     The expression(s) are evaluated in left-to-right order and the
     value of the last expression is returned as the value of the
     `begin'-expression.  This expression type is used when the
     expressions before the last one are evaluated for their side

     Guile also allows the expression `(begin)', a `begin' with no
     sub-expressions.  Such an expression returns the `unspecified'

So if they want people to have a reasonably working upgrade path from
1.8, they better make sure that 1.8 documents the things they want to
be seeing in code.

David Kastrup

reply via email to

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