mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
remove 1.9 changes from NEWS (leaving only 2.0)
* NEWS: Compress year range (as allowed by standards and note in README). Remove 1.9.15->2.0 changes, leaving only 2.0 changes.
This commit is contained in:
parent
c251ab631e
commit
d9f464726d
1 changed files with 2 additions and 124 deletions
126
NEWS
126
NEWS
|
@ -1,133 +1,11 @@
|
|||
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.
|
||||
|
||||
|
||||
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)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue