X-Git-Url: https://git.hcoop.net/bpt/guile.git/blobdiff_plain/8843e1fa41dba5019336205e9570ebef49ab6317..fc6bb2831dd5bcb002c5711bd74764c3f2f54f66:/NEWS diff --git a/NEWS b/NEWS index b77391f38..8982fd195 100644 --- a/NEWS +++ b/NEWS @@ -581,28 +581,29 @@ starting the week. ** 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: +scm_internal_dynamic_wind does, but in a way that is more convenient +for C code in some situations. Here is a quick example of how to +prevent a potential memory leak: void foo () { char *mem; - scm_begin_frame (0); + scm_frame_begin (0); mem = scm_malloc (100); - scm_on_unwind (free, mem, SCM_F_WIND_EXPLICITELY); + scm_frame_unwind (free, mem, SCM_F_WIND_EXPLICITELY); - /* MEM would leak if BAR throws an error. SCM_ON_UNWIND frees it + /* MEM would leak if BAR throws an error. SCM_FRAME_UNWIND frees it nevertheless. */ bar (); - scm_end_frame (); + scm_frame_end (); /* Because of SCM_F_WIND_EXPLICITELY, MEM will be freed by - SCM_END_FRAME as well. + SCM_FRAME_END as well. */ } @@ -611,14 +612,19 @@ For full documentation, see the node "Frames" in the manual. ** New way to block and unblock asyncs In addition to scm_c_call_with_blocked_asyncs you can now also use -scm_with_blocked_asyncs in a 'frame' (see above). Likewise for -scm_c_call_with_unblocked_asyncs and scm_with_unblocked_asyncs. +scm_frame_block_asyncs in a 'frame' (see above). Likewise for +scm_c_call_with_unblocked_asyncs and scm_frame_unblock_asyncs. ** New way to temporarily set the current input, output or error ports -C code can now use scm_with_current__port in a 'frame' (see +C code can now use scm_frame_current__port in a 'frame' (see above). is one of "input", "output" or "error". +** New way to temporarily set fluids + +C code can now use scm_frame_fluid in a 'frame' (see +above) to temporarily set the value of a fluid. + ** New types scm_t_intmax and scm_t_uintmax. On platforms that have them, these types are identical to intmax_t and