~ chicken-core (chicken-5) 63c01978f46d87095172cc0a8b1ee35818018108
commit 63c01978f46d87095172cc0a8b1ee35818018108
Author: Ivan Raikov <raikov@oist.jp>
AuthorDate: Wed May 11 12:26:06 2011 +0900
Commit: Ivan Raikov <raikov@oist.jp>
CommitDate: Wed May 11 12:26:06 2011 +0900
consolidated NEWS file
diff --git a/NEWS b/NEWS
index c38f7cdd..86daae07 100644
--- a/NEWS
+++ b/NEWS
@@ -1,13 +1,5 @@
-4.6.7
+4.7.0rc2
-- Core libraries
- - Fixed pretty-printer output of certain escaped character sequences
- inside strings (thanks to Mario Domenech Goulart, thanks to Kon Lovett
- for pointing out a missing test-file)
-- Runtime system
- - Fixed typo in "runtime.c" (thanks to Sven Hartrumpf)
-
-4.6.6
- Build system
- On BSD, libchicken.so is linked with -lpthread, as this seems
@@ -18,25 +10,47 @@
in the same prefix; to avoid conflicts with existing CHICKEN
headers, it is recommended to completely remove any old
installation before installing the new version
-- Compiler
- - Removed unreliable lambda-lifting optimization (now, really!);
- the "-lambda-lift" option is still accepted but produces a
- warning
- - When "-scrutinize" is given, installed ".types" files will be
- automatically consulted for extensions and used units
- - Fixed optimizer bug in handling of "let" forms with multiple
- bindings which could result in toplevel assignments being
- silently dropped (reported by Moritz Heidkamp)
-- Syntax expander
- - For-syntax syntax definitions where not correctly retained inside
- modules
- - Peter Bex fixed various critical bugs in the expander
- - The simplification for quasiquote expressions was unable
- to handle certain circular data (reported by Moritz Heidkamp)
-- Interpreter
- - The ",m" toplevel command now accepts "#f" to switch back to
- the initial empty module context (suggested by Christian Kellermann)
+ - the PROGRAM_PREFIX and PROGRAM_SUFFIX configuration settings
+ are applied to generated files and directories which allows
+ perform differently named installations into the same PREFIX
+ - increaded binary-compatibility version from 5 to 6, which
+ means installed extensions in an existing installations will
+ have to be re-installed
+ - bugfixes in mingw/msys makefiles
+ - Sven Hartrumpf contributed a bugfix to the internal helper
+ script for creating distribution directories
+ - Peter Bex has cleaned up the makefiles heavily, making the
+ build more maintainable and easier to modify; thanks to all
+ who helped testing this new build
+ - renamed the makefile to `GNUmakefile' to catch using the
+ a make(3) other than GNU make
+ - configuration-header fix for BSD systems (thanks to Peter Bex
+ and Christian Kellermann)
+
+
- Core libraries
+ - the `regex' library unit has been removed and is separately
+ available as an extension which should be fully backwards-
+ compatible
+ - `irregex' is now a core library unit and replaces the `regex' API
+ - "extras" unit
+ - fixed pretty-printer output of certain escaped character
+ sequences inside strings (thanks to Mario Domenech Goulart,
+ thanks to Kon Lovett for pointing out a missing test-file)
+ - The pretty printer did not escape some control characters correctly
+ (reported by Alan Post)
+ - control-characters in symbol-names are now properly escaped if
+ the symbol is printed readably (thanks to Alaric Snell-Pym
+ for pointing this out)
+ - the deprecated `random-seed' function has been removed
+ - "files" unit
+ - fixed bug in `normalize-pathname'
+ - `file-copy' and `file-move' check whether the source-file is a
+ directory
+ - `delete-directory' now optionally deletes directories recursively
+ - "irregex" unit
+ - Peter Bex has contributed various bugfixes and performance
+ enhancements
- "library" unit
- Added "condition->list" (thanks to Christian Kellermann)
- The reader accepts now escaped octal character codes in string
@@ -45,47 +59,62 @@
- R5RS output output routines now always return a "void" result
- "\|" was not correctly escaped when occurring inside
symbol print names
- - "extras" unit
- - The pretty printer did not escape some control characters correctly
- (reported by Alan Post)
+ - added `condition->list', contributed by Christian Kellermann
+ - added `equal=?'
+ - removed deprecated `getenv', `left-section', `right-section',
+ `project', `c-runtime' and `noop'
+ - added missing import-library entry for `vector-copy!' (thanks
+ to Jules Altfas)
+ - circular or excessively deeply nested data generates a more
+ useful error message when encountered by `equal?'
+ - `list-tail' gives now a better error message when passed a
+ non-list argument
+ - fixed bug in `getter-with-setter' that modified the first
+ argument if it already had a setter procedure attached
+ - fixed incorrect size of internal data vector used in `time'
+ (thanks to Kon Lovett)
+ - "lolevel" unit
+ - removed deprecated `global-bound?', `global-make-unbound',
+ `global-ref' and `global-set!' procedures
+ - added support for `pointer-vectors':
+ - make-pointer-vector
+ - pointer-vector?
+ - pointer-vector-length
+ - pointer-vector-ref
+ - pointer-vector-set!
- "posix" unit
- "close-input-pipe" did not return the status code of a
terminated process on Windows (reported by Mario Domenech Goulart)
+ - added `file-creation-mode' (suggested by Mario Domenech Goulart)
+ - "setup-api" unit
+ - `required-extension-version' and `required-chicken-version' have
+ been deprecated
+ - "srfi-18" unit
+ - removed deprecated `milliseconds->time' and `time->milliseconds'
+ procedures
+ - `make-mutex' incorrectly created mutexes as initially owned by
+ the current threads (thanks to Joerg Wittenberger)
+ - the file-descriptor handling in the scheduler has been simplified
+ and performs some sanity checks
+ - deadlock in the scheduler now terminates the process instead of
+ attempting to throw an error
+ - added some sanity checks to the scheduler
- "tcp" unit
- Fixed bug in "tcp-abandon-port" (reported by Jim Ursetto)
-- Tools
- - The "-deploy" option did not copy the correct library (including
- the version-number) (thanks to Christian Kellermann)
-- Runtime-system
- - Little-endian detection on MIPS systems was not correct (thanks
- to Christian Kellermann)
- - Fixed bug in handling of runtime-options with arguments (also
- reported by Christian Kellermann)
-- Foreign function interface
- - Added support for missing "(const [XXX-]c-string)" foreign type
- (thanks to Moritz Heidkamp)
-- Documentation
- - Added list of installed files to README
- - Documented remaining "c...r" standard procedures (thanks to
- Juergen Lorenz)
-
-4.6.5.
-
-- NEWS file corrections
+ - "utils" unit
+ - `compile-file' now returns `#f' when the compilation fails,
+ instead of raising an error
-4.6.4
-- Build system
- - the PROGRAM_PREFIX and PROGRAM_SUFFIX configuration settings
- are applied to generated files and directories which allows
- perform differently named installations into the same PREFIX
- - increaded binary-compatibility version from 5 to 6, which
- means installed extensions in an existing installations will
- have to be re-installed
- - bugfixes in mingw/msys makefiles
- - Sven Hartrumpf contributed a bugfix to the internal helper
- script for creating distribution directories
- Compiler
+ - Removed unreliable lambda-lifting optimization (now, really!);
+ the "-lambda-lift" option is still accepted but produces a
+ warning
+ - When "-scrutinize" is given, installed ".types" files will be
+ automatically consulted for extensions and used units
+ - Fixed optimizer bug in handling of "let" forms with multiple
+ bindings which could result in toplevel assignments being
+ silently dropped (reported by Moritz Heidkamp)
- the `-accumulate-profile' option did not provide a way to
specify the target profile data file - now `-profile-name'
must always be given when accumulated profiling is done
@@ -106,27 +135,60 @@
Alan Post)
- Kon Lovett reported numerous bugs in the type-database used
by the scrutinizer
-- Syntax expander
- - `syntax-rules' now supports tail-patterns and is now fully
- SRFI-46 compatible - many thanks to Peter Bex for implementing
- this
- - Peter Bex provided a bugfix for resolution of primitive imports
- - handling of internal definitions with shadowed defining
- forms is now done correctly - fix once again from Peter Bex
- - corrected non-standard behaviour of quasiquote with respect
- to nested quasiquotations - another bugfix by our mighty macro
- master
- - removed stub-implementation of `define-macro'
- - handled case where a global redefinition of `cons' influenced
- a non-inlined internal use in the expander (thanks to David
- Steiner)
+ - `-fwrapv' is disabled on OpenBSD, since the default compiler
+ does not support this option (thanks to Christian Kellermann)
+ - on Solaris `gcc' is used by default, override `C_COMPILER'
+ to use the Sun compiler instead
+ - declaring a function `notinline' will prevent direct-call
+ optimization for known procedure calls
+ - the implementation of overflow-detection for arithmetic operations
+ on fixnums have been replaced and now allow using the full 63-bit
+ range of fixnums on 64-bit systems
+ - fixed serious inlining-bug (thanks to Sven Hartrumpf)
+ - constant-folding in the compiler has been simplified and
+ is more reliable (thanks to Sven Hartrumpf)
+ - optimization-levels 3 and higher imply `-unboxing -inline-global'
+ - added new declaration `unsafe-specialized-arithmetic' which allows
+ optimizing unboxed floating-point arithmetic in safe mode
+ - removed `scrutinize' declaration
+ - the warning shown when unimported identifiers are used in compiled
+ modules now also shows the name of the procedure where the
+ identifier is referenced (suggested by Alaric Snell-Pym)
+
+
+- Documentation
+ - Added list of installed files to README
+ - Documented remaining "c...r" standard procedures (thanks to
+ Juergen Lorenz)
+ - The manual is now installed in HTML format in
+ PREFIX/share/chicken/doc, many thanks to Jim Ursetto for
+ contributing is excellent `manual-labor' extension which made
+ this possible
+
+
- Foreign function interface
+ - Added support for missing "(const [XXX-]c-string)" foreign type
+ (thanks to Moritz Heidkamp)
- removed deprecated `pointer', `nonnull-pointer', `byte-vector'
and `nonnull-byte-vector' types
- added missing result-type handling for `unsigned-integer64'
(thanks to Moritz Heidkamp)
- added `foreign-type-size' macro
+ - added the new foreign type `size_t' (suggested by Moritz
+ Heidkamp)
+ - added the missing `unsigned-integer64' foreign type (thanks
+ to Moritz for catching this)
+ - added new foreign type `pointer-vector' which maps to `void **'
+ and provided a low-level API in the `lolevel' library unit for
+ manipulating pointer vectors
+
+
- Runtime system
+ - Fixed typo in "runtime.c" (thanks to Sven Hartrumpf)
+ - Little-endian detection on MIPS systems was not correct (thanks
+ to Christian Kellermann)
+ - Fixed bug in handling of runtime-options with arguments (also
+ reported by Christian Kellermann)
- `equal?' does not compare procedures recursively anymore
- fixed incorrect use of alloca.h on OpenBSD (thanks to
Christian Kellermann and Alan Post)
@@ -146,7 +208,55 @@
- repaired broken handling of multiple finalizers that referred
to the same object (reported by Moritz Heidkamp)
- fixed problem with reader and escaping of single-char symbols
+
+
+- Syntax expander
+ - For-syntax syntax definitions where not correctly retained inside
+ modules
+ - Peter Bex fixed various critical bugs in the expander
+ - The simplification for quasiquote expressions was unable
+ to handle certain circular data (reported by Moritz Heidkamp)
+ - `syntax-rules' now supports tail-patterns and is now fully
+ SRFI-46 compatible - many thanks to Peter Bex for implementing
+ this
+ - Peter Bex provided a bugfix for resolution of primitive imports
+ - handling of internal definitions with shadowed defining
+ forms is now done correctly - fix once again from Peter Bex
+ - corrected non-standard behaviour of quasiquote with respect
+ to nested quasiquotations - another bugfix by our mighty macro
+ master
+ - removed stub-implementation of `define-macro'
+ - handled case where a global redefinition of `cons' influenced
+ a non-inlined internal use in the expander (thanks to David
+ Steiner)
+ - `define-record' now allows defining SRFI-17 setter procedures
+ for accessing slots
+ - the expansion of DSSSL lambda-lists uses now `let-optionals*'
+ internally instead of `let-optionals' and so allows
+ back-references to earlier formal variables; this also results in
+ faster and more compact code for argument-list destructuring
+ (thanks to Alan Post)
+ - new "implicit renaming" macro facility contributed by Peter Bex
+ (see `ir-macro-transformer')
+ - record-definitions are now made local to the module in which
+ they are defined (thanks to Jim Ursetto)
+ - parameters are now settable and can be modified using `set!'
+ (SRFI-17)
+ - added a SRFI-17 setter to `list-ref'
+ - added literal blob syntax ("#{ ... }")
+
+
- Tools
+ - chicken-install
+ - option "-deploy" does not compile deployed extensions with
+ "-setup-mode" anymore to avoid problems with dynamic loading on
+ some platforms (specifically Mac OS X)
+ - option "-deploy" option did not copy the correct library
+ (including the version-number) (thanks to Christian Kellermann)
+ - added support for proxy-authentification (thanks to Iruata Souza)
+ - when installing from a local directory `chicken-install' now
+ removes existing `*.so' files in that location to avoid stale
+ binaries when the `make' syntax is used in setup scripts
- chicken-bug
- removed disabled e-mail support
- csc
@@ -154,146 +264,20 @@
- removed deprecated `-windows' option
- fixed incorrect use of `chicken.rc' on non-Windows platforms
in `-gui' mode (thanks to "ddp")
+ - when compiling in C++ mode, the compiler will be called with the
+ `-Wno-write-strings' option
+ - `-frwapv' has been added to the default C compiler options
- csi
+ - the ",m" toplevel command now accepts "#f" to switch back to
+ the initial empty module context (suggested by Christian Kellermann)
- fixed broken `,g' toplevel command
- deprecated `script' feature identifier (use `chicken-script'
instead)
-- Libraries
- - unit `library'
- - added `condition->list', contributed by Christian Kellermann
- - added `equal=?'
- - removed deprecated `getenv', `left-section', `right-section',
- `project', `c-runtime' and `noop'
- - added missing import-library entry for `vector-copy!' (thanks
- to Jules Altfas)
- - circular or excessively deeply nested data generates a more
- useful error message when encountered by `equal?'
- - unit `files'
- - fixed bug in `normalize-pathname'
- - unit `lolevel'
- - removed deprecated `global-bound?', `global-make-unbound',
- `global-ref' and `global-set!' procedures
- - unit `posix'
- - added `file-creation-mode' (suggested by Mario Domenech Goulart)
- - unit `srfi-18'
- - removed deprecated `milliseconds->time' and `time->milliseconds'
- procedures
- - `make-mutex' incorrectly created mutexes as initially owned by
- the current threads (thanks to Joerg Wittenberger)
- - unit `utils'
- - `compile-file' now returns `#f' when the compilation fails,
- instead of raising an error
-- Documentation
- - The manual is now installed in HTML format in
- PREFIX/share/chicken/doc, many thanks to Jim Ursetto for
- contributing is excellent `manual-labor' extension which made
- this possible
+ - options `-p' and `-P' and `-e' imply `-no-init'
+ - the call-trace reported will not include exception-handler code
+ anymore (suggested by Christian Kellermann)
+
-4.6.3
-
-- Peter Bex has cleaned up the makefiles heavily, making the
- build more maintainable and easier to modify; thanks to all
- who helped testing this new build
-- renamed the makefile to `GNUmakefile' to catch using the
- a make(3) other than GNU make
-- `-fwrapv' is disabled on OpenBSD, since the default compiler
- does not support this option (thanks to Christian Kellermann)
-- on Solaris `gcc' is used by default, override `C_COMPILER'
- to use the Sun compiler instead
-- added the new foreign type `size_t' (suggested by Moritz
- Heidkamp)
-- added the missing `unsigned-integer64' foreign type (thanks
- to Moritz for catching this)
-- added support for proxy-authentification to `chicken-install'
- (thanks to Iruata Souza)
-- `define-record' now allows defining SRFI-17 setter procedures
- for accessing slots
-- removed the stub definition for `define-macro'
-- added new foreign type `pointer-vector' which maps to `void **'
- and provided a low-level API in the `lolevel' library unit
- for manipulating pointer vectors
-- declaring a function `notinline' will prevent direct-call
- optimization for known procedure calls
-- when compiling in C++ mode, the compiler will be called with
- the `-Wno-write-strings' option
-- the expansion of DSSSL lambda-lists uses now `let-optionals*'
- internally instead of `let-optionals' and so allows back-references
- to earlier formal variables; this also results in faster and
- more compact code for argument-list destructuring (thanks to Alan
- Post)
-- Peter Bex has contributed various bugfixes and performance
- enhancements to the `irregex' library unit
-- fixed bug in `getter-with-setter' that modified the first argument
- if it already had a setter procedure attached
-- added a SRFI-17 setter to `list-ref'
-- control-characters in symbol-names are now properly escaped if
- the symbol is printed readably (thanks to Alaric Snell-Pym Blagrave
- for pointing this out)
-- added literal blob syntax ("#{ ... }")
-- `delete-directory' now optionally deletes directories recursively
-- fixed incorrect size of internal data vector used in `time'
- (thanks to Kon Lovett)
-- `list-tail' gives now a better error message when passed a non-list
- argument
-- deadlock in the scheduler now terminates the process instead of
- attempting to throw an error
-- added some sanity checks to the scheduler
-- when installing from a local directory `chicken-install' now removes
- existing `*.so' files in that location to avoid stale binaries when
- the `make' syntax is used in setup scripts
-
-4.6.2
-
-- the `regex' library unit has been removed and is separately
- available as an extension which should be fully backwards-
- compatible
-- `irregex' is now a core library unit and replaces the
- `regex' API
-- `-frwapv' has been added to the default C compiler options
-- configuration-header fix for BSD systems (thanks to Peter Bex
- and Christian Kellermann)
-- added support for `pointer-vectors' (unit `lolevel'):
- make-pointer-vector
- pointer-vector?
- pointer-vector-length
- pointer-vector-ref
- pointer-vector-set!
-- added new foreign type `poiner-vector' which maps to `void **'
-- new "implicit renaming" macro facility contributed by Peter Bex
- (see `ir-macro-transformer')
-- the warning shown when unimported identifiers are used in
- compiled modules now also shows the name of the procedure where
- the identifier is referenced (suggested by Alaric Snell-Pym)
-- the deprecated `random-seed' function has been removed
-- parameters are now settable and can be modified using `set!'
- (SRFI-17)
-- the implementation of overflow-detection for arithmetic operations
- on fixnums have been replaced and now allow using the full 63-bit
- range of fixnums on 64-bit systems
-- fixed serious inlining-bug (thanks to Sven Hartrumpf)
-
-4.6.1
-
-- record-definitions are now made local to the module in which
- they are defined (thanks to Jim Ursetto)
-- added new declaration `unsafe-specialized-arithmetic' which
- allows optimiizing unboxed floating-point arithmetic in safe
- mode
-- optimization-levels 3 and higher imply `-unboxing -inline-global'
-- removed `scrutinize' declaration
-- the csi options `-p' and `-P' and `-e' imply `-no-init'
-- in csi, the call-trace reported will not include exception-
- handler code anymore (suggested by Christian Kellermann)
-- `file-copy' and `file-move' (`files' unit) check whether the
- source-file is a directory
-- the file-descriptor handling in the scheduler has been simplified
- and performs some sanity checks
-- `global-bound?', `global-ref`, `global-set!' and `global-make-unbound!'
- (`lolevel' unit) have been deprecated
-- `required-extension-version' and `required-chicken-version'
- (`setup-api' module) have been deprecated
-- constant-folding in the compiler has been simplified and
- is more reliable (thanks to Sven Hartrumpf)
4.6.0
Trap