mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-09 21:40:33 +02:00
fold 1.9.5 NEWS items into the main text
* NEWS: Fold 1.9.5 things into the main text.
This commit is contained in:
parent
6cf430473a
commit
e614d37577
1 changed files with 87 additions and 0 deletions
87
NEWS
87
NEWS
|
@ -627,6 +627,30 @@ This decision may be revisited before the 2.0 release. Feedback welcome
|
||||||
to guile-devel@gnu.org (subscription required) or bug-guile@gnu.org (no
|
to guile-devel@gnu.org (subscription required) or bug-guile@gnu.org (no
|
||||||
subscription required).
|
subscription required).
|
||||||
|
|
||||||
|
** `case-lambda' is now available in the default environment.
|
||||||
|
|
||||||
|
The binding in the default environment is equivalent to the one from the
|
||||||
|
`(srfi srfi-16)' module. Use the srfi-16 module explicitly if you wish
|
||||||
|
to maintain compatibility with Guile 1.8 and earlier.
|
||||||
|
|
||||||
|
** `lambda*' and `define*' are now available in the default environment
|
||||||
|
|
||||||
|
As with `case-lambda', `(ice-9 optargs)' continues to be supported, for
|
||||||
|
compatibility purposes. No semantic change has been made (we hope).
|
||||||
|
Optional and keyword arguments now dispatch via special VM operations,
|
||||||
|
without the need to cons rest arguments, making them very fast.
|
||||||
|
|
||||||
|
** New syntax: include-from-path.
|
||||||
|
|
||||||
|
`include-from-path' is like `include', except it looks for its file in
|
||||||
|
the load path. It can be used to compile other files into a file.
|
||||||
|
|
||||||
|
** New syntax: quasisyntax.
|
||||||
|
|
||||||
|
`quasisyntax' is to `syntax' as `quasiquote' is to `quote'. See the R6RS
|
||||||
|
documentation for more information. Thanks to Andre van Tonder for the
|
||||||
|
implementation.
|
||||||
|
|
||||||
** Unicode characters
|
** Unicode characters
|
||||||
|
|
||||||
Unicode characters may be entered in octal format via e.g. `#\454', or
|
Unicode characters may be entered in octal format via e.g. `#\454', or
|
||||||
|
@ -729,6 +753,39 @@ This slightly improves program startup times.
|
||||||
|
|
||||||
See `cancel-thread', `set-thread-cleanup!', and `thread-cleanup'.
|
See `cancel-thread', `set-thread-cleanup!', and `thread-cleanup'.
|
||||||
|
|
||||||
|
** GOOPS cleanups.
|
||||||
|
|
||||||
|
GOOPS had a number of concepts that were relevant to the days of Tcl,
|
||||||
|
but not any more: operators and entities, mainly. These objects were
|
||||||
|
never documented, and it is unlikely that they were ever used. Operators
|
||||||
|
were a kind of generic specific to the Tcl support. Entities were
|
||||||
|
applicable structures, but were unusable; entities will come back in the
|
||||||
|
next alpha release, but with a less stupid name.
|
||||||
|
|
||||||
|
** `inet-ntop' and `inet-pton' are always available.
|
||||||
|
|
||||||
|
Guile now use a portable implementation of `inet_pton'/`inet_ntop', so
|
||||||
|
there is no more need to use `inet-aton'/`inet-ntoa'. The latter
|
||||||
|
functions are deprecated.
|
||||||
|
|
||||||
|
** R6RS block comment support
|
||||||
|
|
||||||
|
Guile now supports R6RS nested block comments. The start of a comment is
|
||||||
|
marked with `#|', and the end with `|#'.
|
||||||
|
|
||||||
|
** `guile-2' cond-expand feature
|
||||||
|
|
||||||
|
To test if your code is running under Guile 2.0 (or its alpha releases),
|
||||||
|
test for the `guile-2' cond-expand feature. Like this:
|
||||||
|
|
||||||
|
(cond-expand (guile-2 (eval-when (compile)
|
||||||
|
;; This must be evaluated at compile time.
|
||||||
|
(fluid-set! current-reader my-reader)))
|
||||||
|
(guile
|
||||||
|
;; Earlier versions of Guile do not have a
|
||||||
|
;; separate compilation phase.
|
||||||
|
(fluid-set! current-reader my-reader)))
|
||||||
|
|
||||||
** Fix bad interaction between `false-if-exception' and stack-call.
|
** Fix bad interaction between `false-if-exception' and stack-call.
|
||||||
|
|
||||||
Exceptions thrown by `false-if-exception' were erronously causing the
|
Exceptions thrown by `false-if-exception' were erronously causing the
|
||||||
|
@ -801,6 +858,36 @@ indicating length of the `scm_t_option' array.
|
||||||
|
|
||||||
This procedure corresponds to Scheme's `module-public-interface'.
|
This procedure corresponds to Scheme's `module-public-interface'.
|
||||||
|
|
||||||
|
** Inline vector allocation
|
||||||
|
|
||||||
|
Instead of having vectors point out into the heap for their data, their
|
||||||
|
data is now allocated inline to the vector object itself. The same is
|
||||||
|
true for bytevectors, by default, though there is an indirection
|
||||||
|
available which should allow for making a bytevector from an existing
|
||||||
|
memory region.
|
||||||
|
|
||||||
|
** Removal of Guile's primitive object system.
|
||||||
|
|
||||||
|
There were a number of pieces in `objects.[ch]' that tried to be a
|
||||||
|
minimal object system, but were never documented, and were quickly
|
||||||
|
obseleted by GOOPS' merge into Guile proper. So `scm_make_class_object',
|
||||||
|
`scm_make_subclass_object', `scm_metaclass_standard', and like symbols
|
||||||
|
from objects.h are no more. In the very unlikely case in which these
|
||||||
|
were useful to you, we urge you to contact guile-devel.
|
||||||
|
|
||||||
|
** No future.
|
||||||
|
|
||||||
|
Actually the future is still in the state that it was, is, and ever
|
||||||
|
shall be, Amen, except that `futures.c' and `futures.h' are no longer a
|
||||||
|
part of it. These files were experimental, never compiled, and would be
|
||||||
|
better implemented in Scheme anyway. In the future, that is.
|
||||||
|
|
||||||
|
** Support for static allocation of strings, symbols, and subrs.
|
||||||
|
|
||||||
|
Calls to snarfing CPP macros like SCM_DEFINE macro will now allocate
|
||||||
|
much of their associated data as static variables, reducing Guile's
|
||||||
|
memory footprint.
|
||||||
|
|
||||||
** `scm_stat' has an additional argument, `exception_on_error'
|
** `scm_stat' has an additional argument, `exception_on_error'
|
||||||
** `scm_primitive_load_path' has an additional argument `exception_on_not_found'
|
** `scm_primitive_load_path' has an additional argument `exception_on_not_found'
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue