*** empty log message ***
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index c8aff5b..9dbbaba 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,8 @@ Changes since the stable branch:
 
 ** Guile is now licensed with the GNU Lesser General Public License.
 
+** The manual is now licensed with the GNU Free Documentation License.
+
 ** Guile now requires GNU MP (http://swox.com/gmp).
 
 Guile now uses the GNU MP library for arbitrary precision arithmetic.
@@ -112,6 +114,10 @@ form around the code performing the heavy computations (typically a
 C code primitive), enabling the computations to run in parallel
 while the scripting code runs single-threadedly.
 
+** New module (srfi srfi-26)
+
+This is an implementation of SRFI-26.
+
 ** Guile now includes its own version of libltdl.
 
 We now use a modified version of libltdl that allows us to make
@@ -581,33 +587,50 @@ 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_handler (free, mem, SCM_F_WIND_EXPLICITELY);
+
+    /* MEM would leak if BAR throws an error.
+       SCM_FRAME_UNWIND_HANDLER frees it nevertheless.  */
 
-    /* MEM would leak if BAR throws an error.  SCM_ON_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. 
     */
   }
 
 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_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_frame_current_<foo>_port in a 'frame' (see
+above).  <foo> 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