Inline the effect of am/pre-inst-guile
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index bf87597..b53386a 100644 (file)
--- a/NEWS
+++ b/NEWS
 Guile NEWS --- history of user-visible changes.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 1996-2011 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send Guile bug reports to bug-guile@gnu.org.
 
 
-Note: During the 1.9 series, we will keep an incremental NEWS for the
-latest prerelease, and a full NEWS corresponding to 1.8 -> 2.0.
-
-Changes since the 1.9.15 prerelease:
-
-** `unquote' and `unquote-splicing' accept multiple expressions
-    
-As per the R6RS, these syntax operators can now accept any number of
-expressions to unquote.
-
-** `getopt-long' parsing errors throw to `quit', not `misc-error'
-
-This change should inhibit backtraces on argument parsing errors.
-`getopt-long' has been modified to print out the error that it throws
-itself.
-
-** New helpers: `print-exception', `set-exception-printer!'
-
-These functions implement an extensible exception printer.  Guile
-registers printers for all of the exceptions it throws.  Users may add
-their own printers.  There is also `scm_print_exception', for use by C
-programs.  Pleasantly, this allows SRFI-35 and R6RS exceptions to be
-printed appropriately.
-
-** `positions' reader option enabled by default
-    
-This change allows primitive-load without --auto-compile to also
-propagate source information through the expander, for better errors and
-to let macros know their source locations.  The compiler was already
-turning it on anyway.
-
-** `load' is a macro (!) that resolves paths relative to source file dir
-    
-The familiar Schem `load' procedure is now a macro that captures the
-name of the source file being expanded, and dispatches to the new
-`load-in-vicinity'.  Referencing `load' by bare name returns a closure
-that embeds the current source file name.
-
-This fix allows `load' of relative paths to be resolved with respect to
-the location of the file that calls `load'.
-
-** "autocompile" -> "auto-compile"
-
-The "--autocompile" and "--no-autocompile" arguments were renamed to
-have a dash, for consistency with the GUILE_AUTO_COMPILE environment
-variable, and with common conventions.  A number of variables were also
-appropriately renamed.
-    
-** `scm_primitive_load' defaults to UTF-8, not Latin-1
-    
-Like `compile-file', `primitive-load' now defaults to UTF-8.
-
-** Warning now available for auto-compiled files.
-
-See the `%auto-compilation-options' variable.  Warnings at
-auto-compilation time are preceded with the `*current-warning-prefix*'
-(a fluid).
-    
-** Deprecated: primitive properties
-
-The `primitive-make-property', `primitive-property-set!',
-`primitive-property-ref', and `primitive-property-del!' procedures were
-crufty and only used to implement object properties, which has a new,
-threadsafe implementation.  Use object properties or weak hash tables
-instead.
-
-** New syntax: define-once
-
-`define-once' is like Lisp's `defvar': it creates a toplevel binding,
-but only if one does not exist already.
-
-** Added four new sets of fast quotient and remainder operators
-
-Added four new sets of fast quotient and remainder operators with
-different semantics than the R5RS operators.  They support not only
-integers, but all reals, including exact rationals and inexact
-floating point numbers.
-
-These procedures accept two real numbers N and D, where the divisor D
-must be non-zero.  Each set of operators computes an integer quotient
-Q and a real remainder R such that N = Q*D + R and |R| < |D|.  They
-differ only in how N/D is rounded to produce Q.
-
-`floor-quotient' and `floor-remainder' compute Q and R, respectively,
-where Q has been rounded toward negative infinity.  `floor/' returns
-both Q and R, and is more efficient than computing each separately.
-Note that when applied to integers, `floor-remainder' is equivalent to
-the R5RS integer-only `modulo' operator.  `ceiling-quotient',
-`ceiling-remainder', and `ceiling/' are similar except that Q is
-rounded toward positive infinity.
-
-For `truncate-quotient', `truncate-remainder', and `truncate/', Q is
-rounded toward zero.  Note that when applied to integers,
-`truncate-quotient' and `truncate-remainder' are equivalent to the
-R5RS integer-only operators `quotient' and `remainder'.
-
-For `round-quotient', `round-remainder', and `round/', Q is rounded to
-the nearest integer, with ties going to the nearest even integer.
-
-** Improved exactness handling for complex number parsing
-
-When parsing non-real complex numbers, exactness specifiers are now
-applied to each component, as is done in PLT Scheme.  For complex
-numbers written in rectangular form, exactness specifiers are applied
-to the real and imaginary parts before calling scm_make_rectangular.
-For complex numbers written in polar form, exactness specifiers are
-applied to the magnitude and angle before calling scm_make_polar.
-
-Previously, exactness specifiers were applied to the number as a whole
-_after_ calling scm_make_rectangular or scm_make_polar.
-
-For example, (string->number "#i5.0+0i") now does the equivalent of:
-
-  (make-rectangular (exact->inexact 5.0) (exact->inexact 0))
-
-which yields 5.0+0.0i.  Previously it did the equivalent of:
-
-  (exact->inexact (make-rectangular 5.0 0))
-
-which yielded 5.0.
-
-\f
-Changes in 1.9.x (since the 1.8.x series):
+Changes in 2.0.0 (changes since the 1.8.x series):
 
 * New modules (see the manual for details)
 
@@ -572,11 +450,9 @@ In this specific case, it would be better to do:
 
   (define foo (if test 'bar 'baz))
 
-It is certainly possible to circumvent this resriction with e.g.
-`(module-define! (current-module) 'foo 'baz)'. We would appreciate
-feedback about this change (a consequence of using psyntax as the
-default expander), and may choose to revisit this situation before 2.0
-in response to user feedback.
+It is possible to circumvent this restriction with e.g.
+`(module-define! (current-module) 'foo 'baz)'.  Contact the list if you
+have any questions.
 
 ** Support for `letrec*'