that can't tolerate `*'s in file names. The exported macro continues
to be named `and-let*', of course.
-On systems that support it, there is also a compatability module named
+On systems that support it, there is also a compatibility module named
(ice-9 and-let*). It will go away in the next release.
** New modules (oop goops) etc.:
(is-a? v <2D-vector>) --> #t
-See further in the GOOPS tutorial available in the guile-doc
-distribution in info (goops.info) and texinfo formats.
+See further in the GOOPS manual and tutorial in the `doc' directory,
+in info (goops.info) and texinfo formats.
** New module (ice-9 rdelim).
This module requires SLIB to be installed and available from Guile.
+** New module (ice-9 buffered-input)
+
+This module provides procedures to construct an input port from an
+underlying source of input that reads and returns its input in chunks.
+The underlying input source is a Scheme procedure, specified by the
+caller, which the port invokes whenever it needs more input.
+
+This is useful when building an input port whose back end is Readline
+or a UI element such as the GtkEntry widget.
+
+** Documentation
+
+The reference and tutorial documentation that was previously
+distributed separately, as `guile-doc', is now included in the core
+Guile distribution. The documentation consists of the following
+manuals.
+
+- The Guile Tutorial (guile-tut.texi) contains a tutorial introduction
+ to using Guile.
+
+- The Guile Reference Manual (guile.texi) contains (or is intended to
+ contain) reference documentation on all aspects of Guile.
+
+- The GOOPS Manual (goops.texi) contains both tutorial-style and
+ reference documentation for using GOOPS, Guile's Object Oriented
+ Programming System.
+
+- The Revised^4 and Revised^5 Reports on the Algorithmic Language
+ Scheme (r4rs.texi and r5rs.texi).
+
+See the README file in the `doc' directory for more details.
+
* Changes to the stand-alone interpreter
** Evaluation of "()", the empty list, is now an error.
** Escape procedures created by call-with-current-continuation now
accept any number of arguments, as required by R5RS.
+** New function `call-with-deprecation'
+
+Call a thunk, displaying a deprecation message at the first call:
+
+ (define (id x)
+ (call-with-deprecation "`id' is deprecated. Use `identity' instead."
+ (lambda ()
+ (identity x))))
+
+ guile> (id 1)
+ ;; `id' is deprecated. Use `identity' instead.
+ 1
+ guile> (id 1)
+ 1
+
** New function `make-object-property'
This function returns a new `procedure with setter' P that can be used
on.
** New function: mkstemp! tmpl
+
mkstemp creates a new unique file in the file system and returns a
new buffered port open for reading and writing to the file. TMPL
is a string specifying where the file should be created: it must
** New function: open-input-string string
Return an input string port which delivers the characters from
-`string'. This procedure, together with `open-input-string' and
+`string'. This procedure, together with `open-output-string' and
`get-output-string' implements SRFI-6.
** New function: open-output-string
Return the contents of an output string port.
-** Deprecated: close-all-ports-except. This was intended for closing
-ports in a child process after a fork, but it has the undesirable side
-effect of flushing buffers. port-for-each is more flexible.
+** New function: identity
+
+Return the argument.
+
+** Deprecated: id
+
+Use `identity' instead.
+
+** Deprecated: close-all-ports-except.
+
+This was intended for closing ports in a child process after a fork,
+but it has the undesirable side effect of flushing buffers.
+port-for-each is more flexible.
** The (ice-9 popen) module now attempts to set up file descriptors in
the child process from the current Scheme ports, instead of using the
SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR, SCM_SUBR_DOC,
SCM_OPDIRP, SCM_VALIDATE_OPDIR, SCM_WTA, RETURN_SCM_WTA, SCM_CONST_LONG,
SCM_WNA, SCM_FUNC_NAME, SCM_VALIDATE_NUMBER_COPY,
-SCM_VALIDATE_NUMBER_DEF_COPY
+SCM_VALIDATE_NUMBER_DEF_COPY, SCM_SLOPPY_CONSP, SCM_SLOPPY_NCONSP,
+SCM_SETAND_CDR, SCM_SETOR_CDR, SCM_SETAND_CAR, SCM_SETOR_CAR
Use SCM_ASSERT_RANGE or SCM_VALIDATE_XXX_RANGE instead of SCM_OUTOFRANGE.
Use scm_memory_error instead of SCM_NALLOC.
Use SCM_MISC_ERROR or SCM_WRONG_TYPE_ARG instead of RETURN_SCM_WTA.
Use SCM_VCELL_INIT instead of SCM_CONST_LONG.
Use SCM_WRONG_NUM_ARGS instead of SCM_WNA.
+Use SCM_CONSP instead of SCM_SLOPPY_CONSP.
+Use !SCM_CONSP instead of SCM_SLOPPY_NCONSP.
** Removed function: scm_struct_init