* Changes to the stand-alone interpreter
-** New options interface: readline-options,
-readline-enable, readline-disable, readline-set!
+** Command-line editing is enhanced.
-** Command line history is now restored from and saved to file
+If you have a sufficiently recent version of the GNU readline library
+installed on your system, Guile will use it to read expressions
+interactively.
-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.
+You can now use the readline-options interface to control readline's
+behavior. You can now control the readline library's behavior by
+changing the options listed below.
-** 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.
+ (readline-enable 'history-file)
+ Tell readline to record your commands in a file when you exit
+ Guile, and restore them when you restart Guile. By default, Guile
+ saves commands to `$HOME/.guile_history', but if the
+ `GUILE_HISTORY' environment variable is set, Guile will use its
+ value as the name of the history file.
+
+ If Guile is unable to save or restore lines from the history file,
+ the operation is simply not performed; the user is not notified.
+
+ (readline-disable 'history-file)
+ Tell Guile not to save or restore command history.
+
+ (readline-set! history-length N)
+ Tell Guile to save at most N lines of command history.
+
+ (readline-set! bounce-parens N)
+ Tell Guile to indicate the matching opening parenthesis when you
+ type a closing parenthesis, by resting the cursor on it for N
+ milliseconds. If N is zero, do not highlight opening parethesis.
** All builtins now print as primitives.
Previously builtin procedures not belonging to the fundamental subr
* Changes to Scheme functions and syntax
+** New syntax: and-let*
+Guile now supports the `and-let*' form, described in the draft SRFI-2.
+
+Syntax: (land* (<clause> ...) <body> ...)
+Each <clause> should have one of the following forms:
+ (<variable> <expression>)
+ (<expression>)
+ <bound-variable>
+Each <variable> or <bound-variable> should be an identifier. Each
+<expression> should be a valid expression. The <body> should be a
+possibly empty sequence of expressions, like the <body> of a
+lambda form.
+
+Semantics: A LAND* expression is evaluated by evaluating the
+<expression> or <bound-variable> of each of the <clause>s from
+left to right. The value of the first <expression> or
+<bound-variable> that evaluates to a false value is returned; the
+remaining <expression>s and <bound-variable>s are not evaluated.
+The <body> forms are evaluated iff all the <expression>s and
+<bound-variable>s evaluate to true values.
+
+The <expression>s and the <body> are evaluated in an environment
+binding each <variable> of the preceding (<variable> <expression>)
+clauses to the value of the <expression>. Later bindings
+shadow earlier bindings.
+
+Guile's and-let* macro was contributed by Michael Livshin.
+
** New function: sorted? SEQUENCE LESS?
Returns `#t' when the sequence argument is in non-decreasing order
according to LESS? (that is, there is no adjacent pair `... x y