\f
Changes since the stable branch:
+* Changes to the standalone interpreter
+
+** New command line option `--no-debug'.
+
+Specifying `--no-debug' on the command line will keep the debugging
+evaluator turned off, even for interactive sessions.
+
+** User-init file ~/.guile is now loaded with the debugging evaluator.
+
+Previously, the normal evaluator would have been used. Using the
+debugging evaluator gives better error messages.
+
+* Changes to Scheme functions and syntax
+
** Variables have no longer a special behavior for `equal?'.
Previously, comparing two variables with `equal?' would recursivly
compare their values. This is no longer done. Variables are now only
`equal?' if they are `eq?'.
+** `(begin)' is now valid.
+
+You can now use an empty `begin' form. It will yield #<unspecified>
+when evaluated and simply be ignored in a definition context.
+
+** Removed: substring-move-left!, substring-move-right!
+
+Use `substring-move!' instead.
+
* Changes to the C interface
** New function: scm_str2string
This function creates a scheme string from a 0-terminated C string. The input
string is copied.
+** Declarations of exported features are marked with SCM_API.
+
+Every declaration of a feature that belongs to the exported Guile API
+has been marked by adding the macro "SCM_API" to the start of the
+declaration. This macro can expand into different things, the most
+common of which is just "extern" for Unix platforms. On Win32, it can
+be used to control which symbols are exported from a DLL.
+
+If you `#define SCM_IMPORT' before including <libguile.h>, SCM_API
+will expand into "__declspec (dllimport) extern", which is needed for
+linking to the Guile DLL in Windows.
+
+There are also SCM_RL_IMPORT, QT_IMPORT, SCM_SRFI1314_IMPORT, and
+SCM_SRFI4_IMPORT, for the corresponding libraries.
+
+** SCM_NEWCELL and SCM_NEWCELL2 have been deprecated.
+
+Use the new functions scm_alloc_cell and scm_alloc_double_cell
+instead. The old macros had problems because with them allocation and
+initialization was separated and the GC could sometimes observe half
+initialized cells. Only careful coding by the user of SCM_NEWCELL and
+SCM_NEWCELL2 could make this safe and efficient.
+
Changes since Guile 1.4:
* Changes to the distribution
In addition, ./GUILE-VERSION now defines GUILE_MICRO_VERSION.
+** New preprocessor definitions are available for checking versions.
+
+version.h now #defines SCM_MAJOR_VERSION, SCM_MINOR_VERSION, and
+SCM_MICRO_VERSION to the appropriate integer values.
+
** Guile now actively warns about deprecated features.
The new configure option `--enable-deprecated=LEVEL' and the
environment variable GUILE_WARN_DEPRECATED control this mechanism.
See INSTALL and README for more information.
+** Guile is much more likely to work on 64-bit architectures.
+
+Guile now compiles and passes "make check" with only two UNRESOLVED GC
+cases on Alpha and ia64 based machines now. Thanks to John Goerzen
+for the use of a test machine, and thanks to Stefan Jahn for ia64
+patches.
+
** New functions: setitimer and getitimer.
These implement a fairly direct interface to the libc functions of the
types and Scheme numbers. NOTE: The scm_num2xxx functions don't
accept an inexact argument.
+** New functions: scm_float2num, scm_double2num,
+ scm_num2float, scm_num2double.
+
+These are conversion functions between the two ANSI C float types and
+Scheme numbers.
+
** New number validation macros:
SCM_NUM2{SIZE,PTRDIFF,SHORT,USHORT,INT,UINT}[_DEF]