* boot-9.scm (collect): New syntax. Similar to begin but returns
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index 0599fa4..9f69daf 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,6 +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.
+
+** 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.
+
+** unread-char can now be called multiple times
+If unread-char is called multiple times, the unread characters will be
+read again in last-in first-out order.
+
+** New function: serial-map PROC LIST1 LIST2 ...
+Version of `map' which guarantees that the procedure is applied to the
+lists in serial order.
+
+** New syntax: sequence->list 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.
+
+** 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
+
+** gh_scm2doubles
+
+Now takes a second argument which is the result array.  If this
+pointer is NULL, a new array is malloced (the old behaviour).
+
+** gh_chars2byvect, gh_shorts2svect, gh_floats2fvect, gh_scm2chars,
+   gh_scm2shorts, gh_scm2longs, gh_scm2floats
+
+New functions.
+
 \f
 Changes in Guile 1.3 (released Monday, October 19, 1998):
 
@@ -251,6 +317,14 @@ True iff OBJ is a macro object.
 Like (macro? OBJ), but true only if OBJ is one of the Guile primitive
 macro transformers, implemented in eval.c rather than Scheme code.
 
+Why do we have this function?
+- For symmetry with procedure? and primitive-procedure?,
+- to allow custom print procedures to tell whether a macro is
+  primitive, and display it differently, and
+- to allow compilers and user-written evaluators to distinguish
+  builtin special forms from user-defined ones, which could be
+  compiled.
+
 *** New function: (macro-type OBJ)
 Return a value indicating what kind of macro OBJ is.  Possible return
 values are: