Change the name of the objects returned by OPENDIR from
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index 78ce42d..8028fce 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,71 @@ Changes since Guile 1.3.2:
 
 * Changes to Scheme functions and syntax
 
+** Readline support has changed again.
+
+The old (readline-activator) module is gone.  Use (ice-9 readline)
+instead, which now contains all readline functionality.  So the code
+to activate readline is now
+
+    (use-modules (ice-9 readline))
+    (activate-readline)
+
+This should work at any time, including from the guile prompt.
+
+** regexp-substitute/global has changed slightly, but incompatibly.
+
+If you include a function in the item list, the string of the match
+object it receives is the same string passed to
+regexp-substitute/global, not some suffix of that string.
+Correspondingly, the match's positions are relative to the entire
+string, not the suffix.
+
+If the regexp can match the empty string, the way matches are chosen
+from the string has changed.  regexp-substitute/global recognizes the
+same set of matches that list-matches does; see below.
+
+** New function: list-matches REGEXP STRING [FLAGS]
+
+Return a list of match objects, one for every non-overlapping, maximal
+match of REGEXP in STRING.  The matches appear in left-to-right order.
+list-matches only reports matches of the empty string if there are no
+other matches which begin on, end at, or include the empty match's
+position.
+
+If present, FLAGS is passed as the FLAGS argument to regexp-exec.
+
+** New function: fold-matches REGEXP STRING INIT PROC [FLAGS]
+
+For each match of REGEXP in STRING, apply PROC to the match object,
+and the last value PROC returned, or INIT for the first call.  Return
+the last value returned by PROC.  We apply PROC to the matches as they
+appear from left to right.
+
+This function recognizes matches according to the same criteria as
+list-matches.
+
+Thus, you could define list-matches like this:
+
+  (define (list-matches regexp string . flags)
+    (reverse! (apply fold-matches regexp string '() cons flags)))
+
+If present, FLAGS is passed as the FLAGS argument to regexp-exec.
+
+** Hooks
+
+*** New function: hook? OBJ
+
+Return #t if OBJ is a hook, otherwise #f.
+
+*** New function: hook-empty? HOOK
+
+Return #t if HOOK doesn't contain any procedures, otherwise #f.
+
+*** New function: hook->list HOOK
+
+Return a list of the procedures that are called when run-hook is
+applied to HOOK.
+
 ** `map' signals an error if its argument lists are not all the same length.
 
 This is the behavior required by R5RS, so this change is really a bug
@@ -31,6 +96,11 @@ Return a new port with the associated print state PRINT-STATE.
 Return the print state associated with this port if it exists,
 otherwise return #f.
 
+*** New function: directory? OBJECT
+
+Returns a boolean indicating whether OBJECT is a directory port as
+returned by `opendir'.
+
 * Changes to the scm_ interface
 
 ** The internal representation of subr's has changed
@@ -75,7 +145,7 @@ Example:
 
   New macro: SCM_GPROC1 (CNAME, SNAME, TYPE, CFUNC, GENERIC)
 
-These do the same job as SCM_PROC and SCM_PROC1, but they also defines
+These do the same job as SCM_PROC and SCM_PROC1, but they also define
 a variable GENERIC which can be used by the dispatch macros below.
 
 [This is experimental code which may change soon.]