Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 768915 - dev-scheme/guile-3.0.5: version bump
Summary: dev-scheme/guile-3.0.5: version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Scheme Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-05 22:15 UTC by Sam James
Modified: 2021-06-08 03:50 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-02-05 22:15:02 UTC
Changes in 3.0.5 (since 3.0.4)

* New interfaces and functionality

** O(1) compilation of `case' and related expressions

Guile now optimizes chains of eq? comparisons to constants, resulting in
O(1) dispatch time, regardless of the length of the chain.  This
optimization is also unlocked in many cases for `match' expressions with
many similar clauses whose first differentiator are constants.

** New (ice-9 copy-tree) module

This module includes the `copy-tree' procedure that was previously
implemented in C and present in the default `(guile)' module.  See
"Copying" in the manual.

** New warning: use-before-definition

This analysis, enabled at `-W1', issues warnings for programs that use
top-level variables before they are defined.

** New warning: non-idempotent-definition

This analysis, enabled at `-W1', issues warnings for programs that whose
use of a variable is ambiguous.  For example, in the program:

  (define saved-add +)
  (define + error)

The intention would seem to be to "save" the value of the base `+'
procedure, then override it locally.  However if this program is ever
loaded twice, then the second time it is loaded, `+' will be taken from
the local binding instead of the import.  Users that want this kind of
behavior should either use lexical bindings instead of top-level
bindings, or otherwise rename important clobbered bindings via modules.

* New deprecations

** `copy-tree' in the default environment, and `scm_copy_tree' from C

Import the `(ice-9 copy-tree)' module instead.

** `unbound-variable-analysis`, `macro-use-before-definition-analysis`

These bindings from `(language tree-il analyze)' are replaced by the
use-before-definition analysis, which powers a number of warnings.  Use
`make-use-before-definition-analysis', but note that these interfaces
are quite intimate parts of the compiler!

* Incompatible changes

** `copy' read-option removed

This read option would include a copy of the source expression in the
source-properties of each subexpression.  This option has always been
off by default and lost most of its use value with the switch to a
compiler in Guile 2.0.
Comment 1 Sergei Trofimovich (RETIRED) gentoo-dev 2021-05-15 08:45:47 UTC
Also 3.0.7 version is already available.
Comment 2 Larry the Git Cow gentoo-dev 2021-06-08 03:50:44 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7a9bee4c957222fd8e19d636ecc684f18a72566

commit b7a9bee4c957222fd8e19d636ecc684f18a72566
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-06-08 03:50:31 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-06-08 03:50:31 +0000

    dev-scheme/guile: add 3.0.7
    
    Closes: https://bugs.gentoo.org/768915
    Signed-off-by: Sam James <sam@gentoo.org>

 dev-scheme/guile/Manifest           |  1 +
 dev-scheme/guile/guile-3.0.7.ebuild | 70 +++++++++++++++++++++++++++++++++++++
 2 files changed, 71 insertions(+)