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:
RevisionActionfile
1.14modifywip/chicken/Makefile
1.10modifywip/chicken/distinfo