~ chicken-core (chicken-5) 3cbd42e9d026dc0ddd0e58068456c071dfe12d12


commit 3cbd42e9d026dc0ddd0e58068456c071dfe12d12
Merge: b0232996 a7c6952c
Author:     felix <bunny351@gmail.com>
AuthorDate: Tue May 18 07:40:00 2010 +0200
Commit:     felix <bunny351@gmail.com>
CommitDate: Tue May 18 07:40:00 2010 +0200

    merged 4.5.1 changes from future branch

diff --cc NEWS
index e726616e,f09cfc01..be0e0a28
--- a/NEWS
+++ b/NEWS
@@@ -1,4 -1,71 +1,67 @@@
+ 4.5.1
+ 
+ - added `install-target' and `install-dev' makefile target for
+   installing only target system libraries in cross-mode and
+   development files (static libraries and headers)
+ - added `[-]no-procedure-checks-for-toplevel-bindings' compiler
+   option and declaration
+ - usage of unimported syntax in modules gives more usable
+   error messages; in particular, used but unimported FFI forms are 
+   now detected
+ - invalid syntactic forms (mostly `()') encountered by the compiler
+   or interpreter show the contextual form containing the expression,
+   or, if indicated by the context warns about missing imports
+ - simplified manual pages of all core tools - they now refer to
+   the output shown by invoking `<tool> -help'
+ - added new option `-feature FEATURE' to `chicken-install' tool
+   to pass feature-identifiers to invocations of `csc'
+ - removed deprecated `-host-extension' option from `chicken-install'
+ - `chicken-status' in a system built for cross-compilation now 
+   lists extensions installed in the target prefix, unless the
+   new `-host' option is given on the command line
+ - `chicken-uninstall' in a system built for cross-compilation now 
+   removes extensions installed in the target prefix, unless the
+   new `-host' option is given on the command line
+ - added missing entry for `finite?' to the `chicken' module
+   exports
+ - added new procedure `port-closed?' to the `library' unit
+   (contributed by Peter Bex)
+ - added new procedure `symbol-append' to the library unit
+ - the compiler-option `-optimize-level 0' is equivalent to
+   `-no-compiler-syntax -no-usual-integrations`
+ - internal rewritings of `map' and `for-each' ensure correct
+   evaluation order of the arguments and does a better job
+   at detecting non-list arguments (thanks to Jim Ursetto)
+ - `void' now takes arbitrary arguments and ignores them
+ - deprecated `noop' (from the `data-structures' unit) which
+   is now replaced by `void'
+ - the `time' macro now performs a major garbage collection
+   before executing the contained expressions and writes
+   the timings in a more compact format to the port given
+   by `(current-error-port)' instead of the standard output
+   port
+ - definitions of the form `(define define ...)' and
+   `(define-syntax define-syntax ...)' now trigger an error,
+   as required by R5RS (thanks to Jeronimo Pellegrini and Alex
+   Shinn)
+ - deprecated `random-seed' from the `extras' unit, since it
+   is identical to `randomize'
+ - added new procedure `create-temporary-directory' to the
+   `files' unit
+ - deprecated the optional path separator argument to
+   `make-pathname'
+ - slightly improved the performance of keyword argument
+   processing
+ - the second argument to `find-files' from the `posix' unit
+   is now optional and defaults to `(constantly #t)'
+ - removed the deprecated `canonical-path' and `current-environment'
+   procedures from the `posix' unit
+ - warnings that mostly refer to programming style issues are
+   now coined `notes' and are only shown in the interpreter
+   or when debug-mode is enabled or when scrutiny is enabled
+   when compiling
+ 
 -
 -[add 4.5.0 after release here]
 -
 -
 -4.4.6
 +4.5.0
  
  - internal fixes of handling of alternative installation-prefix
    in setup-api
diff --cc README
index 08ab08f2,3300e137..25739316
--- a/README
+++ b/README
@@@ -1,9 -1,10 +1,10 @@@
  
    README file for the CHICKEN Scheme system
 -  (c) 2008-2009, The Chicken Team
 +  (c) 2008-2010, The Chicken Team
    (c) 2000-2007, Felix L. Winkelmann
  
-   version 4.5.0
+   version 4.5.1
+ 
  
   1. Introduction:
  
diff --cc buildversion
index a84947d6,99523d47..4404a17b
--- a/buildversion
+++ b/buildversion
@@@ -1,1 -1,1 +1,1 @@@
- 4.5.0
 -4.5.1
++4.5.1
diff --cc manual/Deviations from the standard
index 41a9168e,a98f4265..c5afefa1
--- a/manual/Deviations from the standard
+++ b/manual/Deviations from the standard
@@@ -15,49 -13,29 +15,48 @@@ to continuations captured using {{call-
  is 120.  This is an implementation restriction that is unlikely
  to be lifted.
  
 -[6.2.5] The {{numerator}} and {{denominator}} procedures cannot be
 +
 +=== {{numerator}}, {{denominator}} and {{rationalize}}
 +
 +The {{numerator}} and {{denominator}} procedures cannot be
  applied to inexact numbers, and the procedure {{rationalize}} is not
- implemented at all.  This will be fixed in a later release.
+ implemented at all.
  
 -[6.2.4] The runtime system uses the numerical string-conversion
 +
 +=== Numeric string-conversion considerations
 +
 +The runtime system uses the numerical string-conversion
  routines of the underlying C library and so does only understand
  standard (C-library) syntax for floating-point constants.  Consequently,
 -the procedures [6.2.6] {{string->number}}, [6.6.2] {{read}},
 -[6.6.3] {{write}}, and [6.6.3] {{display}} do not obey
 +the procedures {{string->number}}, {{read}}, {{write}}, and {{display}} do not obey
  read/write invariance to inexact numbers.
  
 -[6.5] Code evaluated in {{scheme-report-environment}} or
 +
 +=== Environments and non-standard syntax
 +
 +Code evaluated in {{scheme-report-environment}} or
  {{null-environment}} still sees non-standard syntax.
  
 -[6.6.2] The procedure {{char-ready?}} always returns {{#t}} for
 +
- 
 +== Unconfirmed deviations
 +
 +=== {{char-ready?}}
 +
 +The procedure {{char-ready?}} always returns {{#t}} for
  terminal ports.
  
 +
 +
  == Doubtful deviations
  
 -[4.2.2] {{letrec}} does evaluate the initial values for the bound
 +=== {{letrec}}
 +
 +{{letrec}} does evaluate the initial values for the bound
  variables sequentially and not in parallel, that is:
  
 -  (letrec ((x 1) (y 2)) (cons x y))
 +<enscript highlight="scheme">
 +(letrec ((x 1) (y 2)) (cons x y))
 +</enscript>
  
  is equivalent to
  
Trap