features as defined in the Revised^5 Report on Scheme. CHICKEN
itself) should work without any changes on most platforms.
to use and modify as long as you adhere to its terms (see the manual).
it's easy to access C from Scheme. Compiled code can be embedded into
existing C programs without problems. The generated code supports
2015-09-01 21:05:03 by Leonardo Taccari | Files touched by this commit (3) | |
Log message:
Update wip/chicken to chicken-4.10.1 (development release).
Changes:
4.10.1
- Runtime system:
- The calling convention of CPS procedures has been changed to
use "argument vectors" instead of C calling convention.
- The C API of C_values(), C_do_apply() and how to invoke CPS
functions has changed. The C_procN() macros have disappeared.
The manual example in "Accessing external objects" for C_values
has been updated. See also the "numbers" egg for examples on
how to support pre- and post-4.10.1 CHICKENs simultaneously.
- Apply hack is no longer used; the limitation of 128 arguments
has been lifted for platforms which had no apply hack.
- Increased the "binary compatibility version" to 8.
|
2015-08-01 15:58:22 by Leonardo Taccari | Files touched by this commit (2) |
Log message:
Update wip/chicken to chicken-4.10.0rc4.
Changes:
The changes since 4.10.0rc1 are as follows:
- SIGBUS, SIGILL and SIGFPE cause proper exceptions instead of panicking
- string-translate* no longer scans beyond string boundaries (CVE-2015-4556)
- A corner case bug in substring-index and substring-index-ci that was
introduced as part of the fix for CVE-2014-9651 has been fixed.
- chicken.h has been fixed so it does not cause an error in C++ mode.
- create-directory will not skip creation of topmost parent dir in Windows.
- The types.db entries for {read,write}-string read-u8vector have been improved.
- The types.db entries for several SRFI-4 procedures have been fixed.
- The performance of read-u8vector has been improved.
- The "scheme" module now includes an export for the "angle" \
procedure.
- normalize-pathname no longer considers ".//foo" as the absolute \
"/foo".
- A few small improvements have been made in the manual.
If you're wondering what happened to release candidate 2 and 3, the
rc2 was created but never announced, and rc3 was incorrectly versioned,
so it has been skipped. Sorry for that, as well :)
Please test this new version on as many platforms as you can, and let
us know if there are any problems with it. If no problems are found
we can make a 4.10.0 release soon.
|
2015-07-10 14:51:52 by Leonardo Taccari | Files touched by this commit (2) |
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.
|
2015-06-09 20:28:17 by Leonardo Taccari | Files touched by this commit (1) |
Log message:
Convert the MAKE_FLAGS to MAKE_ENV now that with 4.10.0 version is supported.
No functional changes intended.
|
2015-06-09 12:31:00 by Leonardo Taccari | Files touched by this commit (2) |
Log message:
Get rid of patches/patch-scripts_csc-trans: it is not needed.
|
2015-06-08 20:24:29 by Leonardo Taccari | Files touched by this commit (1) |
Log message:
o Update OWN_DIRS (current chicken BINARYVERSION is 7)
o Fix various pkglint(1) warnings: use PKG_FAIL_REASON instead of
PKG_SKIP_REASON, no need to quote various variables passed via MAKE_FLAGS.
|
2015-06-08 20:07:36 by Leonardo Taccari | Files touched by this commit (4) |
Log message:
Update wip/chicken to chicken-4.10.0rc1 development release.
Changes:
4.10.0rc1
- 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.
- 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).
- 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*
- 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
- 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.
|
2013-11-06 00:42:39 by Aleksej Saushev | Files touched by this commit (3) |
Log message:
Update to Chicken 4.8.2 snapshot.
|