a5878b5aa6
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. |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |