space" for Guile headers. This means that the compiler only is given
-I options for the root build and root source directory.
+** Header files kw.h and genio.h have been removed.
+
+** The module (ice-9 getopt-gnu-style) has been removed.
+
* Changes to the stand-alone interpreter
+** New help facility
+
+Usage: (help NAME) gives documentation about objects named NAME (a symbol)
+ (help REGEXP) ditto for objects with names matching REGEXP (a string)
+ (help ,EXPR) gives documentation for object returned by EXPR
+ (help) gives this text
+
+`help' searches among bindings exported from loaded modules, while
+`apropos' searches among bindings visible from the "current" module.
+
+Examples: (help help)
+ (help cons)
+ (help "output-string")
+
** Dynamic linking now uses libltdl from the libtool package.
The old system dependent code for doing dynamic linking has been
** New procedure: port-closed? PORT
Returns #t if PORT is closed or #f if it is open.
+** Deprecated: list*
+
+The list* functionality is now provided by cons* (SRFI-1 compliant)
+
+** Removed deprecated: serial-map, serial-array-copy!, serial-array-map!
+
+* Changes to the gh_ interface
+
+** Deprecated: gh_int2scmb
+
+Use gh_bool2scm instead.
+
* Changes to the scm_ interface
** Guile primitives now carry docstrings!
Thanks to Greg Badros!
-** Guile primitives are defined in a new way: GUILE_PROC/GUILE_PROC1
+** Guile primitives are defined in a new way: SCM_DEFINE/SCM_DEFINE1/SCM_PROC
-Now Guile primitives are defined using the GUILE_PROC/GUILE_PROC1 macros
-and must contain a docstring that is extracted into foo.doc using a new
+Now Guile primitives are defined using the SCM_DEFINE/SCM_DEFINE1/SCM_PROC
+macros and must contain a docstring that is extracted into foo.doc using a new
guile-doc-snarf script (that uses guile-doc-snarf.awk).
+However, a major overhaul of these macros is scheduled for the next release of
+guile.
+
** Guile primitives use a new technique for validation of arguments
SCM_VALIDATE_* macros are defined to ease the redundancy and improve
** All (nearly?) K&R prototypes for functions replaced with ANSI C equivalents.
-** New macros: SCM_PACK, SCM_UNPACK, SCM_UNPACK_CAR
+** New macros: SCM_PACK, SCM_UNPACK
Compose/decompose an SCM value.
-The SCM type is now defined as void * on most architectures. This
-makes it easier to find several types of bugs, for example when SCM
-values are treated as integers without conversion. Values of the SCM
-type should be treated as "atomic" values. These macros are used when
+The SCM type is now treated as an abstract data type and may be defined as a
+long, a void* or as a struct, depending on the architecture and compile time
+options. This makes it easier to find several types of bugs, for example when
+SCM values are treated as integers without conversion. Values of the SCM type
+should be treated as "atomic" values. These macros are used when
composing/decomposing an SCM value, either because you want to access
individual bits, or because you want to treat it as an integer value.
SCM_PACK (SCM_UNPACK (x) | 0x80)
-SCM_UNPACK_CAR (X) is defined as SCM_UNPACK (SCM_CAR (X))
+** The name property of hooks is deprecated.
+Thus, the use of SCM_HOOK_NAME and scm_make_hook_with_name is deprecated.
+
+You can emulate this feature by using object properties.
+
+** Deprecated macros: SCM_INPORTP, SCM_OUTPORTP, SCM_CRDY, SCM_ICHRP,
+SCM_ICHR, SCM_MAKICHR, SCM_SETJMPBUF, SCM_NSTRINGP, SCM_NRWSTRINGP,
+SCM_NVECTORP
+
+These macros will be removed in a future release of Guile.
-** Deprecated macros: SCM_INPORTP, SCM_OUTPORTP
+** The following types, functions and macros from numbers.h are deprecated:
+scm_dblproc, SCM_UNEGFIXABLE, SCM_FLOBUFLEN, SCM_INEXP, SCM_CPLXP, SCM_REAL,
+SCM_IMAG, SCM_REALPART, scm_makdbl, SCM_SINGP, SCM_NUM2DBL, SCM_NO_BIGDIG
-These macros will be removed in next release of Guile.
+Further, it is recommended not to rely on implementation details for guile's
+current implementation of bignums. It is planned to replace this
+implementation with gmp in the future.
** Port internals: the rw_random variable in the scm_port structure
must be set to non-zero in any random access port. In recent Guile
chars requires further hacking that depends on the characteristics
of the ptob.
+** Deprecated functions: scm_fseek, scm_tag
+
+These functions are no longer used and will be removed in a future version.
+
** The scm_sysmissing procedure is no longer used in libguile.
Unless it turns out to be unexpectedly useful to somebody, it will be
removed in a future version.
the GC in a modular fashion. Examples are the weaks and guardians
modules.
+** Deprecated type tags: scm_tc16_flo, scm_tc_flo, scm_tc_dblr, scm_tc_dblc
+
+Guile does not provide the float representation for inexact real numbers any
+more. Now, only doubles are used to represent inexact real numbers. Further,
+the tag names scm_tc_dblr and scm_tc_dblc have been changed to scm_tc16_real
+and scm_tc16_complex, respectively.
+
+** Removed deprecated type scm_smobfuns
+
+** Removed deprecated function scm_newsmob
+
+** Removed deprecated type tag scm_tc16_kw
+
+** Added type tag scm_tc16_keyword
+
+(This was introduced already in release 1.3.4 but was not documented
+ until now.)
+
* Changes to system call interfaces:
** The "select" procedure now tests port buffers for the ability to