* ramap.c (array-copy-in-order!, array-map-in-order): New names.
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index a1fe41e..2a637a5 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,8 +6,72 @@ Please send Guile bug reports to bug-guile@gnu.org.
 \f
 Changes since Guile 1.3:
 
+* Changes to the stand-alone interpreter
+
+** New options interface: readline-options,
+readline-enable, readline-disable, readline-set!
+
+** Command line history is now restored from and saved to file
+
+If readline is used and the readline option `history-file' is enabled,
+the command line history is read from file when the interpreter is
+entered, and written to file on exit.  The filename used can be
+specified with the environment variable GUILE_HISTORY.  Default file
+name is "$HOME/.guile_history".  Nothing special happens if errors
+occur during read or write.
+
+** Command line history length can now be customized.
+Command line history length is now controlled by the readline option
+`history-length'.  Default is 200 lines.
+
+* Changes to Scheme functions and syntax
+
+** New module: (ice-9 setf)
+Implements generalized references a la Common LISP.
+
+* New syntax: setf! PLACE VALUE
+Puts VALUE in location specified by PLACE.  setf! is more general than
+set! in the sense that PLACE can be a form (GETTER EXP1 EXP2 ...).  The
+setf! expression will bw transformed into (SETTER EXP1 EXP2 ... VALUE)
+where SETTER is a procedure or macro which has previously been
+associated with GETTER.
+
+Example:
+
+ (setf! (car x) 4) <=> (set-car! x 4)
+
+* New syntax: setter GETTER
+The name of the SETTER of GETTER.  The way to associate a SETTER with
+a GETTER is: (setf! (setter GETTER) SETTER)
+
+Example:
+
+  (setf! (setter car) set-car!)
+
+** The range of logand, logior, logxor, logtest, and logbit? have changed.
+
+These functions now operate on numbers in the range of a C unsigned
+long.
+
+These functions used to operate on numbers in the range of a C signed
+long; however, this seems inappropriate, because Guile integers don't
+overflow.
+
+** All builtins now print as primitives.
+Previously builtin procedures not belonging to the fundamental subr
+types printed as #<compiled closure #<primitive-procedure gsubr-apply>>.
+Now, they print as #<primitive-procedure NAME>.
+
+** Backtraces slightly more intelligible.
+gsubr-apply and macro transformer application frames no longer appear
+in backtraces.
+
 * Changes to Scheme functions and syntax
 
+** New functions: delq1!, delv1!, delete1!
+These procedures behave similar to delq! and friends but delete only
+one object if at all.
+
 ** New function: unread-string STRING PORT
 Unread STRING to PORT, that is, push it back onto the port so that
 next read operation will work on the pushed back characters.
@@ -20,10 +84,14 @@ read again in last-in first-out order.
 Version of `map' which guarantees that the procedure is applied to the
 lists in serial order.
 
-** New syntax: sequence->list BODY1 ...
+** New syntax: collect BODY1 ...
 Version of `begin' which returns a list of the results of the body
 forms instead of the result of the last body form.  In contrast to
-`begin', sequence->list allows an empty body.
+`begin', `collect' allows an empty body.
+
+** New functions: read-history FILENAME, write-history FILENAME
+Read/write command line history from/to file.  Returns #t on success
+and #f if an error occured.
 
 * Changes to the gh_ interface