Path to this page:
Subject: CVS commit: wip/chicken
From: Leonardo Taccari
Date: 2015-07-10 14:51:52
Message id: E1ZDXmj-0005R5-ID@sfs-ml-1.v29.ch3.sourceforge.com
Log Message:
Update wip/chicken to chicken-4.10.0rc2.
Changes:
4.10.0rc2
- Security fixes
- CVE-2014-6310: Use POSIX poll() on Android platform to avoid
potential select() buffer overrun.
- CVE-2014-9651: substring-index[-ci] no longer scans beyond string
boundaries.
- CVE-2015-4556: string-translate* no longer scans beyond string
boundaries.
- Core libraries
- alist-ref from unit data-structures now gives an error when passed
a non-list, for consistency with assv/assq/assoc.
- Unit tcp now implicitly depends on ports instead of extras.
This may break programs which don't use modules and forgot to
require extras but use procedures from it.
- SRFI-13: fix string-copy! in cases source and destination strings'
memory areas overlap (#1135).
- SRFI-1: Check argument types in lset and list= procedures (#1085).
- Fixed another, similar bug in move-memory! for overlapping memory.
- Fixed broken specialisation for move-memory! on pointer types.
- Fixed broken specialisation for irregex-match-num-submatches.
- Fixed bug in make-kmp-restart-vector from SRFI-13.
- Removed deprecated implicit expansion of $VAR- and ~ in pathnames.
The ~-expansion functionality is now available in the
"pathname-expand" egg (#1001, #1079) (thanks to Florian Zumbiehl).
- normalize-pathname has been simplified to avoid adding trailing
slashes or dots (#1153, thanks to Michele La Monaca and Mario Goulart).
- Unit srfi-4:
- write-u8vector has been made more efficient (thanks to Thomas Hintz).
- Unit lolevel:
- Restore long-lost but still documented "vector-like?" procedure (#983)
- Unit "posix":
- set-file-position! now allows negative positions for seek/cur (thanks
to Seth Alves).
- file-mkstemp now works correctly on Windows, it now returns valid
file descriptors (#819, thanks to Michele La Monaca).
- create-directory on Windows now creates all intermediate
directories when passed #t as second parameter.
- Runtime system:
- Removed several deprecated, undocumented parts of the C interface:
C_zap_strings, C_stack_check, C_retrieve, C_retrieve_proc,
C_retrieve_symbol_proc, C_i_foreign_number_vector_argumentp,
C_display_flonum, C_enumerate_symbols
- Removed several deprecated and undocumented internal procedures:
##sys#zap-strings, ##sys#round, ##sys#foreign-number-vector-argument,
##sys#check-port-mode, ##sys#check-port*
- SIGBUS, SIGILL and SIGFPE will now cause proper exceptions instead
of panicking (thanks to Joerg Wittenberger).
- Module system
- Allow functor arguments to be optional, with default implementations.
- Fixed a bug that prevented functors from being instantiated with
built-in modules.
- Fixed generation of import libraries for instantiated functors
(#1149, thanks to Juergen Lorenz).
- Syntax expander
- define-values, set!-values and letrec-values now support full lambda
lists as binding forms
- cond expands correctly when a constant is used in combination with =>
(thanks to Michele La Monaca)
- C API
- Removed deprecated C_get_argument[_2] and
C_get_environment_variable[_2] functions.
- C_mutate2 has been deprecated in favor of C_mutate
- chicken.h can be included in C++ programs in strict C++11 mode
without compiler errors on Linux (thanks to "Izaak").
- Foreign function interface
- The foreign type specifier "scheme-pointer" now accepts an optional
C pointer type (thanks to Moritz Heidkamp and Kristian Lein-Mathisen).
- Type hinting for foreign-primitives now allows returning multiple
values when no return type has been specified.
- Compiler
- Fixed an off by one allocation problem in generated C code for (list ...).
- Build system
- MANDIR was renamed to MAN1DIR and TOPMANDIR was renamed to MANDIR
in order to comply with standard Makefile practice in UNIX.
- INCDIR was renamed to CHICKENINCDIR, and now derives from
INCLUDEDIR, which defaults to $(PREFIX)/include
- BINDIR, LIBDIR, SHAREDIR, INCLUDEDIR, MANDIR, MAN1DIR, DOCDIR,
CHICKENINCDIR and CHICKENLIBDIR will now also be taken from
the environment, if present (like PLATFORM, DESTDIR and PREFIX).
- Tools
- "csc"
- On Cygwin, -static now works again (thanks to Michele La Monaca)
- "chicken-install"
- When using chicken-install -retrieve, and an error occurs during
retrieval (or the egg doesn't exist), the egg's directory is
now properly cleaned up (#1109, thanks to Alex Charlton)
- "chicken"
- The -r5rs-syntax option did nothing; this has been fixed.
Files: