*** empty log message ***
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index 7f6aa84..d5ea8fb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -33,6 +33,9 @@ Changes since Guile 1.4:
 
 ** New SRFI modules have been added:
 
+SRFI-0 `cond-expand' is now supported in Guile, without requiring
+using a module.
+
 (srfi srfi-2) exports and-let*.
 
 (srfi srfi-6) is a dummy module for now, since guile already provides
@@ -43,12 +46,21 @@ Changes since Guile 1.4:
 
 (srfi srfi-9) exports define-record-type.
 
+(srfi srfi-10) exports define-reader-ctor and implements the reader
+  extension #,().
+
 (srfi srfi-11) exports let-values and let*-values.
 
 (srfi srfi-13) implements the SRFI String Library.
 
 (srfi srfi-14) implements the SRFI Character-Set Library.
 
+(srfi srfi-17) implements setter and getter-with-setter and redefines
+  some accessor procedures as procedures with getters. (such as car,
+  cdr, vector-ref etc.)
+
+(srfi srfi-19) implements the SRFI Time/Date Library.
+
 ** New scripts / "executable modules"
 
 Subdirectory "scripts" contains Scheme modules that are packaged to
@@ -62,6 +74,14 @@ also be executable as scripts.  At this time, these scripts are available:
 
 See README there for more info.
 
+These scripts can be invoked from the shell with the new program
+"guile-tools", which keeps track of installation directory for you.
+For example:
+
+     $ guile-tools display-commentary srfi/*.scm
+
+guile-tools is copied to the standard $bindir on "make install".
+
 ** New module (ice-9 stack-catch):
 
 stack-catch is like catch, but saves the current state of the stack in
@@ -263,7 +283,7 @@ to write the empty list as a literal constant is to use quote: "'()".
 ** Auto-loading of compiled-code modules is deprecated.
 
 Guile used to be able to automatically find and link a shared
-libraries to satisfy requests for a module.  For example, the module
+library to satisfy requests for a module.  For example, the module
 `(foo bar)' could be implemented by placing a shared library named
 "foo/libbar.so" (or with a different extension) in a directory on the
 load path of Guile.
@@ -365,14 +385,14 @@ objects are usually permanent.
 ** Escape procedures created by call-with-current-continuation now
 accept any number of arguments, as required by R5RS.
 
-** New function `call-with-deprecation'
+** New function `issue-deprecation-warning'
 
-Call a thunk, displaying a deprecation message at the first call:
+This function is used to displaying the deprecation messages that are
+controlled by GUILE_WARN_DEPRECATION as explained in the README.
 
   (define (id x)
-    (call-with-deprecation "`id' is deprecated.  Use `identity' instead."
-      (lambda ()
-       (identity x))))
+    (issue-deprecation-warning "`id' is deprecated.  Use `identity' instead.")
+    (identity x))
 
   guile> (id 1)
   ;; `id' is deprecated.  Use `identity' instead.
@@ -380,6 +400,13 @@ Call a thunk, displaying a deprecation message at the first call:
   guile> (id 1)
   1
 
+** New syntax `begin-deprecated'
+
+When deprecated features are included (as determined by the configure
+option --enable-deprecated), `begin-deprecated' is identical to
+`begin'.  When deprecated features are excluded, it always evaluates
+to `#f', ignoring the body forms.
+
 ** New function `make-object-property'
 
 This function returns a new `procedure with setter' P that can be used
@@ -586,6 +613,22 @@ Return the argument.
 
 Use `identity' instead.
 
+** Deprecated: -1+
+
+Use `1-' instead.
+
+** Deprecated: return-it
+
+Use `noop' instead.
+
+** Deprecated: string-character-length
+
+Use `string-length' instead.
+
+** Deprecated: flags
+
+Use `logior' instead.
+
 ** Deprecated: close-all-ports-except.
 
 This was intended for closing ports in a child process after a fork,
@@ -617,6 +660,12 @@ If you have old code using the old syntax, import
 
   (use-modules (oop goops old-define-method) (oop goops))
 
+** Deprecated function: builtin-variable
+   Removed function: builtin-bindings
+
+There is no longer a distinction between builtin or other variables.
+Use module system operations for all variables.
+
 * Changes to the gh_ interface
 
 * Changes to the scm_ interface
@@ -837,6 +886,26 @@ Use scm_object_to_string instead.
 Use scm_wrong_type_arg, or another appropriate error signalling function
 instead.
 
+** Explicit support for obarrays has been deprecated.
+
+Use `scm_str2symbol' and the generic hashtable functions instead.
+
+** The concept of `vcells' has been deprecated.
+
+The data type `variable' is now used exclusively.  `Vcells' have been
+a low-level concept so you are likely not affected by this change.
+
+*** Deprecated functions: scm_sym2vcell, scm_sysintern,
+    scm_sysintern0, scm_symbol_value0, scm_intern, scm_intern0.
+
+Use scm_c_define or scm_c_lookup instead, as appropriate.
+
+*** New functions: scm_c_module_lookup, scm_c_lookup,
+    scm_c_module_define, scm_c_define, scm_module_lookup, scm_lookup,
+    scm_module_define, scm_define.
+
+These functions work with variables instead of with vcells.
+
 \f
 Changes since Guile 1.3.4: