Subject: CVS commit: pkgsrc/lang/guile
From: Thomas Klausner
Date: 2003-12-14 18:14:40
Message id: 20031214171440.B3F592DA1D@cvs.netbsd.org

Log Message:
Update to 1.6.4:
XXX: Package fails the same regression test 1.6.3 failed (scfi-19).

Changes since Guile 1.6.3 (i.e. changes for 1.6.4):

* Changes to the distribution

** Various architecture (and compiler optimization) related bugs fixed.

These changes should improve the situation on at least ia64, alpha,
and powerpc.

* Changes to the stand-alone interpreter

** Readline prompt problem fixed.

Previously, the readline prompt disappeared when running Guile in
non-echoing terminal mode (for example under GDB in Emacs).  This has
been fixed.

** Printing bug fixed.

Previously, the state of writingp in the print state could be altered
by recursive calls to printing functions.

** Append mode in hooks.

Append mode in hooks (adding the hook last in the list) now works
correctly.

** GOOPS/GC bug fixed.

The class layout slot, which informs the GC about which slots to GC
protect, is now initialized correctly.

** GOOPS class redefinition bug fixed.

The class redefinition protocol now properly removes the old accessor
methods from their accessors.

** GOOPS method dispatch bug fixed.

Previously, the code updating the method cache in generic functions
got confused if handed method code created in a null environment
(environment = empty list).  It now stands every environment
imaginable (think about it!).

** GOOPS init-thunks can now be primitive procedures

Previously, attempts to provide something else than a closure as value
for the #:init-thunk slot option would yield a segmentation fault.
Now, it's possible to supply a primitive procedure as init-thunk.
Non-allowed values result in an error.

** Garbage collection frequency improved for large malloc heaps

The decision when to run the GC is now done in a way that avoids GCs
with a small yield for heaps with a large amount of malloced storage.
The minimum expected yield for malloc storage is now relative to the
heap size, and not a fixed amount as it was previously.

* Changes to Scheme functions and syntax

** %fast-slot-ref no longer checks slot boundness

This makes the <active-class> metaclass in (oop goops active-slot)
working again.

** eqv? and equal? are now primitive generic functions

This means that it is possible to provide custom comparisons for new
classes by specializing `eqv?' and `equal?' to those classes.

* Changes to the C interface

** New snarf macros: SCM_PRIMITIVE_GENERIC, SCM_PRIMITIVE_GENERIC_1

These provide a way of adding primitive generics which is equivalent
to SCM_DEFINE and SCM_DEFINE1.

Files:
RevisionActionfile
1.48modifypkgsrc/lang/guile/Makefile
1.17modifypkgsrc/lang/guile/distinfo
1.6modifypkgsrc/lang/guile/patches/patch-ad
1.8modifypkgsrc/lang/guile/patches/patch-ae
1.2modifypkgsrc/lang/guile/patches/patch-af
1.2modifypkgsrc/lang/guile/patches/patch-ag