Added section about frames.
This commit is contained in:
parent
dab514a843
commit
9879d3906e
1 changed files with 31 additions and 1 deletions
32
NEWS
32
NEWS
|
|
@ -1,5 +1,5 @@
|
||||||
Guile NEWS --- history of user-visible changes.
|
Guile NEWS --- history of user-visible changes.
|
||||||
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
|
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||||
See the end for copying conditions.
|
See the end for copying conditions.
|
||||||
|
|
||||||
Please send Guile bug reports to bug-guile@gnu.org.
|
Please send Guile bug reports to bug-guile@gnu.org.
|
||||||
|
|
@ -578,6 +578,36 @@ starting the week.
|
||||||
|
|
||||||
* Changes to the C interface
|
* Changes to the C interface
|
||||||
|
|
||||||
|
** New way to deal with non-local exits and reentries.
|
||||||
|
|
||||||
|
There is a new set of functions that essentially do what
|
||||||
|
scm_internal_dynamic_wind does, but in a more convenient way. Here is
|
||||||
|
a quick example of how to prevent a potential memory leak:
|
||||||
|
|
||||||
|
void
|
||||||
|
foo ()
|
||||||
|
{
|
||||||
|
char *mem;
|
||||||
|
|
||||||
|
scm_begin_frame (0);
|
||||||
|
|
||||||
|
mem = scm_malloc (100);
|
||||||
|
scm_on_unwind (free, mem, SCM_F_WIND_EXPLICITELY);
|
||||||
|
|
||||||
|
/* MEM would leak if BAR throws an error. SCM_ON_UNWIND frees it
|
||||||
|
nevertheless.
|
||||||
|
*/
|
||||||
|
bar ();
|
||||||
|
|
||||||
|
scm_end_frame ();
|
||||||
|
|
||||||
|
/* Because of SCM_F_WIND_EXPLICITELY, MEM will be freed by
|
||||||
|
SCM_END_FRAME as well.
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
For full documentation, see the node "Frames" in the manual.
|
||||||
|
|
||||||
** New types scm_t_intmax and scm_t_uintmax.
|
** New types scm_t_intmax and scm_t_uintmax.
|
||||||
|
|
||||||
On platforms that have them, these types are identical to intmax_t and
|
On platforms that have them, these types are identical to intmax_t and
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue