1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 22:31:12 +02:00

1.9.13 news to main body

* NEWS: Fold 1.9.13 text into the main text.
This commit is contained in:
Andy Wingo 2010-12-12 22:45:47 +01:00
parent ec3c7570d8
commit ef6b0e8d48

211
NEWS
View file

@ -16,142 +16,6 @@ The guile binary now supports a new switch "-x", which can be used to
extend the list of filename extensions tried when loading files
(%load-extensions).
Changes in 1.9.13 (since the 1.9.12 prerelease):
** SRFI support
The following SRFIs have been added:
- SRFI-27 "Sources of Random Bits"
- SRFI-42 "Eager Comprehensions"
- SRFI-45 "Primitives for Expressing Iterative Lazy Algorithms"
- SRFI-67 "Compare Procedures"
Thanks to Andreas Rottmann.
** (system foreign) API changes
The `make-foreign-function' procedure was renamed to
`pointer->procedure'.
** (system xref) source database
The `(system xref)' module can now map from source locations to
procedures. See the `source-procedures' and `source-closures' functions.
** New procedures: `scm_to_latin1_stringn', `scm_from_latin1_stringn'
Use these procedures when you know you have latin1-encoded or
ASCII-encoded strings.
** New procedures: `scm_to_stringn', `scm_from_stringn'
Use these procedures if you want to encode or decode from a particular
locale.
** Removed support shlibs for SRFIs 1, 4, 13, 14, and 60
Though these SRFI support libraries did expose API, they encoded a
strange version string into their library names. That version was never
programmatically exported, so there was no way people could use the
libs.
This was a fortunate oversight, as it allows us to remove the need for
extra, needless shared libraries --- the C support code for SRFIs 4, 13,
and 14 was already in core --- and allow us to incrementally return the
SRFI implementation to Scheme.
** Simplifications to the set of low-level hooks exported by the VM
See "VM Hooks" in the manual, for more information.
** New traps system
See "Traps" in the manual, for more information.
** Breakpoints, tracepoints and source stepping now available at the REPL
See "Interactive Debugging" in the manual, for more information.
The new REPL commands are: break, break-at-source, tracepoint, traps,
delete, disable, enable, step, step-instruction, next, next-instruction,
finish, and registers.
** Remove obsolete debug-options
Removed `breakpoints', `trace', `procnames', `indent', `frames',
`maxdepth', and `debug' debug-options.
** Remove obsolete print-options
The `source' and `closure-hook' print options are obsolete, and have
been removed.
** Remove obsolete read-options
The "elisp-strings" and "elisp-vectors" read options were unused and
obsolete, so they have been removed.
** Remove eval-options and trap-options
Eval-options and trap-options are obsolete with the new VM and
evaluator.
** Remove (ice-9 debugger) and (ice-9 debugging)
See "Traps" and "Interactive Debugging" in the manual, for information
on their replacements.
** Remove the GDS Emacs integration
See "Using Guile in Emacs" in the manual, for info on how we think you
should use Guile with Emacs.
** Remove vm-version, vm options
These procedures introduced during the 1.9 series had no effect.
** Add `call-with-vm' and ability to set VM engine
`call-with-vm' applies a procedure to arguments in a context in which a
given VM is current.
`set-vm-engine!' can be used to specify the engine for a VM, which will
become current at the next `call-with-vm' invocation.
** Default to "regular" VM engine for noninteractive use
The "debug" engine is used when the user specifies --debug, or when
running interactively. A debug VM allows hooks to run; see "VM Hooks" in
the manual.
** `backtrace' debug option on by default
Given that Guile 2.0 can always give you a backtrace, backtraces are now
on by default.
** `turn-on-debugging' deprecated
** New compilation warning: `-Wformat'
The `-Wformat' warning can indicate a number of common format string
errors. See "Compilation" in the manual, for more information.
** Add `(system repl server)' module and `--listen' command-line argument
The `(system repl server)' module exposes procedures to listen on
sockets for connections, and serve REPLs to those clients. The --listen
command-line argument allows any Guile program to thus be remotely
debuggable.
See "Invoking Guile" for more information on `--listen'.
** Big manual updates
The GOOPS documentation got a lot of attention this cycle, as well as
the sections on interactive use and debugging. We don't know of any
sections of the manual that are out-of-date at this point.
** And of course, the usual collection of bugfixes
Interested users should see the ChangeLog for more information.
@ -163,6 +27,10 @@ Changes in 1.9.x (since the 1.8.x series):
* New modules (see the manual for details)
** `(srfi srfi-18)', more sophisticated multithreading support
** `(srfi srfi-27)', sources of random bits
** `(srfi srfi-42)', eager comprehensions
** `(srfi srfi-45)', primitives for expressing iterative lazy algorithms
** `(srfi srfi-67)', compare procedures
** `(ice-9 i18n)', internationalization support
** `(rnrs bytevectors)', the R6RS bytevector API
** `(rnrs io ports)', a subset of the R6RS I/O port API
@ -228,6 +96,15 @@ help when running Guile inside Emacs. This option has been removed, and
the helper functions `named-module-use!' and `load-emacs-interface' have
been deprecated.
** Add `(system repl server)' module and `--listen' command-line argument
The `(system repl server)' module exposes procedures to listen on
sockets for connections, and serve REPLs to those clients. The --listen
command-line argument allows any Guile program to thus be remotely
debuggable.
See "Invoking Guile" for more information on `--listen'.
** New reader options: `square-brackets' and `r6rs-hex-escapes'
The reader supports a new option (changeable via `read-options'),
@ -1152,7 +1029,8 @@ procedure, with -Warity-mismatch, or `arity-mismatch' in the
`#:warnings' as above.
Other warnings include `-Wunused-variable' and `-Wunused-toplevel', to
warn about unused local or global (top-level) variables.
warn about unused local or global (top-level) variables, and `-Wformat',
to check for various errors related to the `format' procedure.
** A new `memoize-symbol' evaluator trap has been added.
@ -1380,6 +1258,43 @@ This module had some debugging helpers that are no longer applicable to
the current debugging model. Importing this module will produce a
deprecation warning. Users should contact bug-guile for support.
** Remove obsolete debug-options
Removed `breakpoints', `trace', `procnames', `indent', `frames',
`maxdepth', and `debug' debug-options.
** `backtrace' debug option on by default
Given that Guile 2.0 can always give you a backtrace, backtraces are now
on by default.
** `turn-on-debugging' deprecated
** Remove obsolete print-options
The `source' and `closure-hook' print options are obsolete, and have
been removed.
** Remove obsolete read-options
The "elisp-strings" and "elisp-vectors" read options were unused and
obsolete, so they have been removed.
** Remove eval-options and trap-options
Eval-options and trap-options are obsolete with the new VM and
evaluator.
** Remove (ice-9 debugger) and (ice-9 debugging)
See "Traps" and "Interactive Debugging" in the manual, for information
on their replacements.
** Remove the GDS Emacs integration
See "Using Guile in Emacs" in the manual, for info on how we think you
should use Guile with Emacs.
** Deprecated: `lazy-catch'
`lazy-catch' was a form that captured the stack at the point of a
@ -1411,6 +1326,16 @@ backward-compatible way. A new allocation routine,
Libgc is a conservative GC, which we hope will make interaction with C
code easier and less error-prone.
** New procedures: `scm_to_latin1_stringn', `scm_from_latin1_stringn'
Use these procedures when you know you have latin1-encoded or
ASCII-encoded strings.
** New procedures: `scm_to_stringn', `scm_from_stringn'
Use these procedures if you want to encode or decode from a particular
locale.
** New type definitions for `scm_t_intptr' and friends.
`SCM_T_UINTPTR_MAX', `SCM_T_INTPTR_MIN', `SCM_T_INTPTR_MAX',
@ -1526,6 +1451,18 @@ The upshot is that the mechanics used to apply a SMOB are different from
`apply_3' functions, and the macros SCM_SMOB_APPLY_0 and friends are now
deprecated. Just use the scm_call_0 family of procedures.
** Removed support shlibs for SRFIs 1, 4, 13, 14, and 60
Though these SRFI support libraries did expose API, they encoded a
strange version string into their library names. That version was never
programmatically exported, so there was no way people could use the
libs.
This was a fortunate oversight, as it allows us to remove the need for
extra, needless shared libraries --- the C support code for SRFIs 4, 13,
and 14 was already in core --- and allow us to incrementally return the
SRFI implementation to Scheme.
** New C function: scm_module_public_interface
This procedure corresponds to Scheme's `module-public-interface'.