Subject: CVS commit: pkgsrc/lang/guile
From: Thomas Klausner
Date: 2006-07-12 22:11:39
Message id: 20060712201139.BFFF2211CA@cvs.netbsd.org

Log Message:
Update to 1.6.8:

Changes since Guile 1.6.7 (changes in 1.6.8):

* Changes to the distribution

** A number of GCC 4.0 related build problems have been fixed.

A number of changes have been made to accomodate GCC 4.0.

* Changes to the stand-alone interpreter

** `readline-set!' now works.

* Changes to Scheme functions and syntax

** Guile now allows multiple line comments to end without a trailing newline.

Previously Guile would throw an exception if a multiple line comment
ended without a trailing newline.  Now "!#" will end a multiple line
comment regardless of what follows.

** Guile supports newer versions of SLIB more cleanly.

Guile now relies on the upstream SLIB code (guile.init) to handle the
load process.  Previously Guile relied on its own copy of that code,
which was incorrect, at least for more recent versions of SLIB.

If you still need to use Guile with an older version of SLIB, and the
new approach doesn't work for you, please add the following definition
to your code before (ice-9 slib) is loaded for the first time:

  (define *guile-use-old-ice-9-slib* #t)

This will cause Guile to revert to the old load behavior.

** The r5rs numerator and denominator functions have been added.

These are now available in the default environment.

** `/' fix to <any>/0-<y>i complex division case, avoiding divide-by-zero

** `array-map!' fix, accepts just a destination array again

** `cons*', `list' fix to not clobber source list when called via `apply'

** `string-index', `split-string' and other string func fixes for 8-bit chars

** `number->string' fix for parsing of polar complex number with invalid angle

** (ice-9 poe) bug fixes

** srfi-1 `lset-adjoin' fix to actually use given equality procedure

** srfi-1 `lset-union' fixes to operate in the way specified by the SRFI

Note in particular that if the first list is empty then the first
non-empty is the starting point, and duplicates are not cast out of
that.  So

	(lset-union = '() '(1 1 1)) => '(1 1 1)

where previously it was '(1).  This, though perhaps unhelpful, comes
from the SRFI spec (that if list A is empty then the result is B).

** srfi-1 `lset=', `list=' fix to equality procedure argument order

** srfi-17 avoid deprecation warnings about reexport

** srfi-19 new 2005 leap second

** srfi-39 new parameter versions of `current-output-port' etc, per SRFI

** make-stack can now correctly construct a stack from a continuation.

** Output string port speed problems have been improved

Output string port (open-output-string, etc) writing was very slow at
about 50 to 100 kbytes or above.  This affected various things, in
particular regexp-substitute/global on a large string, and stack
backtraces with a large object.

** Bug fix: printing values no longer protects them from GC

A bug in the printing code used to mean that printing a value (using
`display' or `write') would incorrectly protect that value from GC for
a while afterwards.  This has now been fixed.

* Changes to the C interface

Ok gdt@

Files:
RevisionActionfile
1.72modifypkgsrc/lang/guile/Makefile
1.17modifypkgsrc/lang/guile/PLIST
1.28modifypkgsrc/lang/guile/distinfo
1.8modifypkgsrc/lang/guile/patches/patch-ad
1.4modifypkgsrc/lang/guile/patches/patch-ai