e0f90295cd
Tests now work without installing package first. Changes since previous package: 4.9.0.1 - Runtime library - C_MINOR_VERSION changed to 9; feature identifier chicken-4.8 => chicken-4.9 4.9.0 - Security fixes - CVE-2014-3776: read-u8vector! no longer reads beyond its buffer when length is #f (thanks to Seth Alves). - CVE-2013-4385: read-string! no longer reads beyond its buffer when length is #f. - CVE-2013-1874: ./.csirc is no longer loaded from the current directory upon startup of csi, which could lead to untrusted code execution. (thanks to Florian Zumbiehl) - CVE-2013-2024: On *nix, the qs procedure now single-quotes everything instead of relying on a blacklist of shell characters to be escaped. On Windows, it properly duplicates double-quote characters. (thanks to Florian Zumbiehl) - CVE-2013-2075: Use POSIX poll() in other places where select() was still being used. (thanks to Florian Zumbiehl and Joerg Wittenberger) - CVE-2012-6122: Use POSIX poll() on systems where available. This avoids a design flaw in select(); it supports no more than FD_SETSIZE descriptors. - Core libraries - Fix subvector when the TO optional argument equals the given vector length (#1097) - Unit extras now implicitly depends on ports. ports no longer implicitly depends on extras. This may break programs which don't use modules and forgot to require ports but use procedures from it. - Support has been added for the space-safe R7RS macro "delay-force". - Export file-type from the posix unit (thanks to Alan Post). - SRFI-4 s8vectors now work correctly in compiled code on PowerPC and ARM. - thread-join! now works correctly even if the waiting thread was prematurely woken up by a signal. - unsetenv has been fixed on Windows. - The process procedure has been fixed on Windows. - Nonblocking behaviour on sockets has been fixed on Windows. - Possible race condition while handling TCP errors has been fixed. - The posix unit will no longer hang upon any error in Windows. - resize-vector no longer crashes when reducing the size of the vector. - Distinct types for boolean true and false have been added to the scrutinizer. - Fixed bugs in string-trim-right, string-index-right and string-skip-right, from SRFI-13 - read-line no longer returns trailing CRs in rare cases on TCP ports (#568) - write and pp now correctly use escape sequences for control characters (thanks to Florian Zumbiehl) - posix: memory-mapped file support for Windows (thanks to "rivo") - posix: find-file's test argument now also accepts SRE forms. - numerator and denominator now accept inexact numbers, as per R5RS (reported by John Cowan). - Implicit $VAR- and ~-expansion in pathnames have been deprecated (#1001) - Fixed EINTR handling in process-wait and when reading from file ports. - Irregex is updated to 0.9.2, which includes bugfixes and faster submatches. - Compile-time expansions for "[sf]printf" are slightly more efficient. - Removed the deprecated "always?", "never?", "shuffle" and "none?" procedures. - Fixed problem "make-pathname" that returned an absolute path if given a relative one without a directory argument. - The implementation of promises has been made more efficient. - Removed the deprecated "c-runtime", "null-pointer?" and "pointer-offset" procedures. - The deprecated alias "mutate-procedure" for "mutate-procedure!" has been removed. - On 64-bit systems the feature identifier "64bit" is registered. - "process-fork" accepts an optional argument that specifies wether other threads should be terminated in the child process. - The "signal/bus" signal identifier was missing. - Added setter-procedure for "signal-mask". - Added "recursive-hash-max-length" and "recursive-hash-max-depth" parameters (srfi-69). - Platform support - CHICKEN can now be built on AIX (contributed by Erik Falor) - CHICKEN can now be built on GNU Hurd (contributed by Christian Kellermann) - Basic support has been added for building Android and iOS binaries (see the "README" file for caveats and pitfalls) (contributed by Felix Winkelmann from bevuta IT GmbH) - Added support for 64-bit Windows (consult the "README" file for more information). - Runtime system - finalizers on constants are ignored in compiled code because compiled constants are never GCed (before, the finalizer would be incorrectly invoked after the first GC). (Reported by "Pluijzer") - The call trace buffer is now also resizable at runtime via ##sys#resize-trace-buffer. - C_zap_strings and ##sys#zap-strings (undocumented) have been deprecated. - Special events in poll() are now handled, avoiding hangs in threaded apps. - When invoking procedures with many rest arguments directly (not via APPLY), raise an error when argument count limit was reached instead of crashing. - When the maximum allowed heap size is reached, panic instead of crashing. - The code generated for mutating data destructively is partially inlined and thus slightly more efficient. - Fixed incorrect code in the foreign argument conversion for "unsigned-integer64" (#955). For unsigned-integer, integer64 and unsigned-integer64, disallow floating-point numbers. Fix behavior on 32-bit systems. - On systems that provide sigprocmask(2), segmentation violations, illegal instruction signals, bus errors and floating-point exceptions are now caught and trigger normal error-processing (including a backtrace). The handling of these so called "serious" signals can be disabled by passing the "-:S" runtime option to executables. - Reclamation of unused interned symbols (enabled with the "-:w" runtime option) works much better now. - Build system - The tests can now be run without having to first install CHICKEN. - Fixed a dependency problem that made it impossible to build the distribution tarball on Windows with the mingw compiler. - Increased the "binary compatibility version" to 7. - Tools - "csc" - "-z origin" is now passed as a linker option on FreeBSD when compiling for deployment (thanks to Jules Altfas & Vitaly Magerya) - "-deploy" works now on FreeBSD (thanks to Jules Altfas and Vitaly Magerya), OpenBSD and NetBSD (see README for NetBSD). - added "-oi"/"-ot" options as alternatives to "-emit-inline-file" and "-emit-type-file", respectively; "-n" has been deprecated. - .c/.o files are no longer overwritten when they have the same basename as a Scheme source file (i.e. "csc foo.scm foo.c -o foo" works now). - "chicken-install" - "-deploy" now correctly installs dependencies of deployed eggs under the deployment directory instead of globally. - Full URI syntax is now supported for proxy environment variables (thanks to Michele La Monaca) - "chicken-status" - Added -eggs command line option to list installed eggs - misc - Removed the deprecated "-v" options (use "-version" instead) in various core programs. - The runtime linker path for compiled executables was not set correctly on FreeBSD systems. This has now been fixed. - Removed the deprecated "make" and "make/proc" facility from the "setup-api" module; also removed the deprecated "required-extension-version" and "required-chicken-version" procedures. - Syntax - Added the aliases "&optional" and "&rest" as alternatives to "#!optional" and "#!rest" in type-declarations (suggested by Joerg Wittenberger). - Vectors, SRFI-4 number vectors and blobs are now self-evaluating for R7RS compatibility. Being literal constants, they are implicitly quoted. - For R7RS compatibility, named character literals #\escape and #\null are supported as aliases for #\esc and #\nul. WRITE will output R7RS names. - The CASE form accepts => proc syntax, like COND (as specified by R7RS). - letrec* was added for R7RS compatibility. Plain letrec no longer behaves like letrec*. - Compiler - the "inline" declaration does not force inlining anymore as recursive inlining could lead to non-termination of the compiler (thanks to Andrei Barbu). - Type-analysis ("scrutiny") is enabled by default now, unless "-optimize-level 0" or "-no-usual-integrations" is given. - The "-scrutinize" compiler option has been deprecated. - A new lightweight flow-analysis pass ("lfa2") has been added. Enable by passing the "-lfa2" option to the compiler. - The deprecated options "-disable-warning", "-heap-growth", "-heap-shrinkage" and "-heap-initial-size" have been removed. - Removed the deprecated "constant" declaration. - Removed the deprecated "-lambda-lift" and "-unboxing" compiler options. - Removed the deprecated "-V" compiler option. - Generated names for formal parameters of foreign functions are slightly more informative. - Unused references to variables that name intrinsics can be removed. - In the flow-analysis pass, matching of combinations of "list"/"list-of" and "or" types with has been made more reliable. - Fixed various bugs in the type database. - Syntax expander - added "require-extension-for-syntax" and "use-for-syntax". - Extended syntactic definitions are now available by default in all evaluated code, particularly in code evaluated at runtime in compiled applications. - Removed the deprecated variant "(define-compiler-syntax (NAME . LLIST) BODY ...)" of "define-compiler-syntax". - C API - Deprecated C_get_argument[_2] and C_get_environment_variable[_2] functions. - Removed the deprecated "__byte_vector" type. |
||
---|---|---|
.. | ||
patches | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |