Subject: CVS commit: pkgsrc/lang/guile
To: None <pkgsrc-changes@NetBSD.org>
From: Thomas Klausner <wiz@netbsd.org>
List: pkgsrc-changes
Date: 12/14/2003 17:14:40
Module Name:	pkgsrc
Committed By:	wiz
Date:		Sun Dec 14 17:14:40 UTC 2003

Modified Files:
	pkgsrc/lang/guile: Makefile distinfo
	pkgsrc/lang/guile/patches: patch-ad patch-ae patch-af patch-ag

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.


To generate a diff of this commit:
cvs rdiff -r1.47 -r1.48 pkgsrc/lang/guile/Makefile
cvs rdiff -r1.16 -r1.17 pkgsrc/lang/guile/distinfo
cvs rdiff -r1.5 -r1.6 pkgsrc/lang/guile/patches/patch-ad
cvs rdiff -r1.7 -r1.8 pkgsrc/lang/guile/patches/patch-ae
cvs rdiff -r1.1 -r1.2 pkgsrc/lang/guile/patches/patch-af \
    pkgsrc/lang/guile/patches/patch-ag

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.