1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 03:30:27 +02:00

Tidied up somewhat.

This commit is contained in:
Marius Vollmer 2004-08-25 17:22:14 +00:00
parent c08d10f5f3
commit b0d10ba69f

477
NEWS
View file

@ -12,7 +12,7 @@ Each release reports the NEWS in the following sections:
* Changes to the C interface
Changes since the stable branch:
Changes since the 1.6.x series:
* Changes to the distribution
@ -23,37 +23,21 @@ Changes since the stable branch:
** Guile now requires GNU MP (http://swox.com/gmp).
Guile now uses the GNU MP library for arbitrary precision arithmetic.
At the moment it is being used to handle Guile's bignums.
** Guile now has separate private and public configuration headers.
Guile now has config.h and libguile/scmconfig.h. The former is not
installed and is private. The latter is installed and used by Guile's
public headers. config.h is generated by configure and autoheader,
and scmconfig.h is generated by a small C program, gen-scmconfig at
build time based in part on the contents of config.h.
Seen libguile/__scm.h and gen-scmconfig.c for more information.
Note too that nearly all public defines are now set to either 1 or 0
rather than being set to 1 or left undefined. See gen-scmconfig.c and
the GNU Coding Guidelines for the rationale. However, pre-existing
defines that were not renamed were not changed. i.e. GUILE_DEBUG is
still either 1 or undefined.
** The INSTALL file is now the generic automake installed one.
Guile specific instructions can be found in the README.
That is, things like HAVE_STRING_H no longer leak from Guile's
headers.
** Guile now provides and uses an "effective" version number.
Guile now provides scm_effective_version and effective-version
functions which return the "effective" version number. This is just
the normal full version string without the final micro-version number,
so the current effective-version is "1.6". The effective version
so the current effective-version is "1.7". The effective version
should remain unchanged during a stable series, and should be used for
items like the versioned share directory name
i.e. /usr/share/guile/1.6.
i.e. /usr/share/guile/1.7.
Providing an unchanging version number during a stable release for
things like the versioned share directory can be particularly
@ -86,6 +70,8 @@ you don't trust the thread safety of most of your program, but
where you have some section(s) of code which you consider can run
in parallel to other sections.
### move rest to manual
They "flag" (with dynamic extent) sections of code to be of
"serial" or "parallel" nature and have the single effect of
preventing a serial section from being run in parallel with any
@ -126,7 +112,8 @@ This is an implementation of SRFI-31 which provides a special form
** The modules (srfi srfi-13) and (srfi srfi-14) have been merged with
the core, making their functionality always available.
The are still available, tho.
The modules are still available, tho, and you use them together with a
renaming import, for example.
** Guile now includes its own version of libltdl.
@ -188,7 +175,7 @@ writing
For example (@ (ice-9 pretty-print) pretty-print) will directly access
the pretty-print variable exported from the (ice-9 pretty-print)
module. You don't need to 'use' that module first. You can also use
'@' with 'set!'.
'@' as a target of 'set!', as in (set! (@ mod var) val).
The related syntax (@@ MODULE-NAME VARIABLE-NAME) works just like '@',
but it can also access variables that have not been exported. It is
@ -205,12 +192,12 @@ dropped.
** 'call-with-current-continuation' is now also available under the name
'call/cc'.
** Checking for duplicate bindings in module system
** The module system now checks for duplicate bindings.
The module system now can check for name conflicts among imported
bindings.
The behavior can be controlled by specifying one or more duplicates
The behavior can be controlled by specifying one or more 'duplicates'
handlers. For example, to make Guile return an error for every name
collision, write:
@ -234,6 +221,8 @@ can add the line:
to your .guile init file.
### move rest to manual
The syntax for the :duplicates option is:
:duplicates HANDLER-NAME | (HANDLER1-NAME HANDLER2-NAME ...)
@ -286,7 +275,13 @@ a prefix to all imported bindings.
will import all bindings exported from bar, but rename them by adding
the prefix `bar:'.
** Merging generic functions
** Conflicting generic functions can be automatically merged.
When two imported bindings conflict and they are both generic
functions, the two functions can now be merged automatically. This is
activated with the 'duplicates' handler 'merge-generics'.
### move the rest to the manual
It is sometimes tempting to use GOOPS accessors with short names.
For example, it is tempting to use the name `x' for the x-coordinate
@ -349,10 +344,10 @@ Returns the "effective" version number. This is just the normal full
version string without the final micro-version number. See "Changes
to the distribution" above.
** Futures: future, make-future, future-ref
** New feature, 'futures': future, make-future, future-ref
Futures are like promises, but begun immediately in a new thread. See
the "Futures" section in the reference manual.
Futures are like promises, but begin execution immediately in a new
thread. See the "Futures" section in the reference manual.
** New threading functions: parallel, letpar, par-map, and friends
@ -376,7 +371,7 @@ A fair condition variable must be used together with a fair mutex,
just as a standard condition variable must be used together with a
standard mutex.
** New functions: make-fair-mutex, make-fair-condition-variable'
*** New functions: make-fair-mutex, make-fair-condition-variable'
Make a new fair mutex and a new fair condition variable respectively.
@ -528,9 +523,9 @@ Previously, (odd? 1.0) would signal an error since only exact integers
were recognized as integers. Now (odd? 1.0) returns #t, (odd? 2.0)
returns #f and (odd? 1.5) signals an error.
** We now have uninterned symbols.
** Guile now has uninterned symbols.
The new function 'make-symbol' will return a uninterned symbol. This
The new function 'make-symbol' will return an uninterned symbol. This
is a symbol that is unique and is guaranteed to remain unique.
However, uninterned symbols can not yet be read back in.
@ -556,9 +551,9 @@ when evaluated and simply be ignored in a definition context.
** Deprecated: procedure->macro
Change your code to use either procedure->memoizing-macro or, probably better,
to use r5rs macros. Also, be aware that macro expansion will not be done
during evaluation, but prior to evaluation.
Change your code to use 'define-macro' or r5rs macros. Also, be aware
that macro expansion will not be done during evaluation, but prior to
evaluation.
** Soft ports now allow a `char-ready?' procedure
@ -577,39 +572,6 @@ chapter in the reference manual.
There is no replacement for undefine.
** call-with-output-string doesn't segv on closed port
Previously call-with-output-string would give a segmentation fault if
the string port was closed by the called function. An exception is
raised now.
** (ice-9 popen) duplicate pipe fd fix
open-pipe, open-input-pipe and open-output-pipe left an extra copy of
their pipe file descriptor in the child, which was normally harmless,
but it can prevent the parent seeing eof or a broken pipe immediately
and has now been fixed.
** source-properties and set-source-properties! fix
Properties set with set-source-properties! can now be read back
correctly with source-properties.
** SRFI-1 fixes
delete and delete! now call the "=" procedure with arguments in the
order described by the SRFI-1 specification
list-copy now accepts improper lists, per the specification.
** SRFI-4 fixes
Larger values in 64-bit vectors should print correctly now.
** SRFI-19 fixes
date-week-number now correctly respects the requested day of week
starting the week.
* Changes to the C interface
@ -667,15 +629,15 @@ Use scm_c_make_rectangular instead.
** The INUM macros have been deprecated.
A lot of code uses these macros to do general integer conversions,
although they only work correctly with fixnums. Use the following
alternatives.
although the macros only work correctly with fixnums. Use the
following alternatives.
SCM_INUMP -> scm_is_integer or similar
SCM_NINUMP -> !scm_is_integer or similar
SCM_MAKINUM -> scm_from_int or similar
SCM_INUM -> scm_to_int or similar
SCM_VALIDATE_INUM_* -> Do not use these, scm_to_int, etc. will
SCM_VALIDATE_INUM_* -> Do not use these; scm_to_int, etc. will
do the validating for you.
** The scm_num2<type> and scm_<type>2num functions and scm_make_real
@ -720,12 +682,14 @@ easier to use from C.
They export too many assumptions about the implementation of strings
and symbols that are no longer true in the presence of
mutation-sharing substrings and later, when Guile switches to some
form of Unicode.
mutation-sharing substrings and when Guile switches to some form of
Unicode.
When working with strings, it is often best to use the normal string
functions provided by Guile, such as scm_c_string_ref,
scm_c_string_set_x, scm_string_append, etc.
scm_c_string_set_x, scm_string_append, etc. Be sure to look in the
manual since many more such functions are now provided than
previously.
When you want to convert a SCM string to a C string, use the
scm_to_locale_string function or similar instead. For symbols, use
@ -735,7 +699,7 @@ and is thus quite efficient.
** Some string and symbol functions have been discouraged.
They don't fot into the uniform naming scheme and are not explicit
They don't fit into the uniform naming scheme and are not explicit
about the character encoding.
Replace according to the following table:
@ -747,7 +711,7 @@ Replace according to the following table:
scm_str2string -> scm_from_locale_string
scm_makfrom0str -> scm_from_locale_string
scm_mem2symbol -> scm_from_locale_symboln
scm_mem2uninterned_symbol -> scm_make_symbol + scm_from_locale_stringn
scm_mem2uninterned_symbol -> scm_from_locale_stringn + scm_make_symbol
scm_str2symbol -> scm_from_locale_symbol
SCM_SYMBOL_HASH -> scm_hashq
@ -755,7 +719,7 @@ Replace according to the following table:
** SCM_CELL_WORD_LOC has been deprecated.
Use the new macro SCM_CELL_OBJECT_LOC instead, which return a pointer
Use the new macro SCM_CELL_OBJECT_LOC instead, which returns a pointer
to a SCM, as opposed to a pointer to a scm_t_bits.
This was done to allow the correct use of pointers into the Scheme
@ -775,9 +739,9 @@ used to get and set the 16 exra bits in the zeroth word of a smob.
And finally, there is SCM_SMOB_OBJECT and SCM_SMOB_SET_OBJECT for
accesing the first immediate word of a smob as a SCM value, and there
is SCM_SMOB_OBJECT_LOC for getting a pointer to the first immediate
smob words. Like wise for SCM_SMOB_OBJECT_2, etc.
smob word. Like wise for SCM_SMOB_OBJECT_2, etc.
** New way to deal with non-local exits and reentries.
** New way to deal with non-local exits and re-entries.
There is a new set of functions that essentially do what
scm_internal_dynamic_wind does, but in a way that is more convenient
@ -837,229 +801,46 @@ On platforms that have them, these types are identical to intmax_t and
uintmax_t, respectively. On other platforms, they are identical to
the largest integer types that Guile knows about.
** scm_unmemocopy and scm_unmemoize have been removed from public use.
For guile internal use, the functions scm_i_unmemocopy_expr,
scm_i_unmemocopy_body and scm_i_unmemoize_expr are provided to replace
scm_unmemocopy and scm_unmemoize. User code should not have used
scm_unmemocopy and scm_unmemoize and thus should not use the replacement
functions also.
Background: Formerly, scm_unmemocopy and scm_unmemoize would have allowed to
unmemoize a single expression as well as a sequence of body forms. This would
have lead to problems when unmemoizing code of the new memoizer. Now the two
cases have to be distinguished.
** The functions scm_unmemocopy and scm_unmemoize have been removed.
You should not have used them.
** Many public #defines with generic names have been made private.
#defines with generic names like HAVE_FOO or SIZEOF_FOO have been made
private or renamed with a more suitable public name. See below for
the ones which have been renamed.
** HAVE_STDINT_H and HAVE_INTTYPES_H have been removed from public use.
HAVE_STDINT_H and HAVE_INTTYPES_H removed from public use. These are
no longer needed since the older uses of stdint.h and inttypes.h are
now handled by configure.in and gen-scmconfig.c.
** USE_DLL_IMPORT is no longer defined publically.
gen-scmconfig now uses it to decide what contents to place in the
public scmconfig.h header without adding the USE_DLL_IMPORT itself.
** HAVE_LIMITS_H has been removed from public use.
gen-scmconfig now just uses HAVE_LIMITS_H to decide whether or not to
add a limits.h include in scmconfig.h.
** time.h, sys/time.h, etc. #ifdefery has been removed from public headers.
gen-scmconfig now just uses the same logic to decide what time related
#includes to add to scmconfig.h.
** HAVE_STRUCT_TIMESPEC has been removed from public use.
scmconfig.h now just defines scm_t_timespec.
** HAVE_PTRDIFF has been removed from public use and Guile doesn't
define ptrdiff_t.
Guile now publically defines scm_t_ptrdiff and
SCM_SIZEOF_SCM_T_PTRDIFF in scmconfig.h, and all occurrences of
ptrdiff_t have been replaced with scm_t_ptrdiff.
Guile defines its own type this rather than just relying on ptrdiff_t
and SCM_SIZEOF_PTRDIFF_T because Guile actually typedefs long to
scm_t_ptrdiff when ptrdiff_t isn't available. A public "typedef long
ptrdiff_t" could conflict with other headers.
** HAVE_UINTPTR_T and HAVE_UINTPTR_T have been removed from public use.
They are replaced by public definitions of SCM_SIZEOF_UINTPTR_T and
SCM_SIZEOF_INTPTR_T. These are defined to 0 if the corresponding type
is not available.
** The public #define STDC_HEADERS has been renamed to SCM_HAVE_STDC_HEADERS.
The previous name was too generic for the global public namespace.
** The public #define HAVE_SYS_SELECT has been renamed to
SCM_HAVE_SYS_SELECT_H.
The previous name was too generic for the global public namespace.
** The public #define HAVE_FLOATINGPOINT_H has been renamed to
SCM_HAVE_FLOATINGPOINT_H.
The previous name was too generic for the global public namespace.
** The public #define HAVE_IEEEFP_H has been renamed to SCM_HAVE_IEEEFP_H.
The previous name was too generic for the global public namespace.
** The public #define HAVE_NAN_H has been renamed to SCM_HAVE_NAN_H.
The previous name was too generic for the global public namespace.
** The public #define HAVE_WINSOCK2_H has been renamed to SCM_HAVE_WINSOCK2_H.
The previous name was too generic for the global public namespace.
** The public #define HAVE_ARRAYS has been renamed to SCM_HAVE_ARRAYS.
The previous name was too generic for the global public namespace.
** The public #define STACK_GROWS_UP has been renamed to SCM_STACK_GROWS_UP.
The previous name was too generic for the global public namespace.
** The public #define USE_PTHREAD_THREADS has been renamed to
SCM_USE_PTHREAD_THREADS.
The previous name was too generic for the global public namespace.
** The public #define USE_NULL_THREADS has been renamed to
SCM_USE_NULL_THREADS.
The previous name was too generic for the global public namespace.
** The public #define USE_COOP_THREADS has been renamed to
SCM_USE_COOP_THREADS.
The previous name was too generic for the global public namespace.
** SCM_C_INLINE is publically defined if possible.
If the platform has a way to define inline functions, SCM_C_INLINE
will be defined to that text. Otherwise it will be undefined. This
is a little bit different than autoconf's normal handling of the
inline define via AC_C_INLINE.
** Guile now publically defines some basic type infrastructure.
Guile always defines
SCM_SIZEOF_CHAR
SCM_SIZEOF_UNSIGNED_CHAR
SCM_SIZEOF_SHORT
SCM_SIZEOF_UNSIGNED_SHORT
SCM_SIZEOF_LONG
SCM_SIZEOF_UNSIGNED_LONG
SCM_SIZEOF_INT
SCM_SIZEOF_UNSIGNED_INT
SCM_SIZEOF_LONG_LONG /* defined to 0 if type not available */
SCM_SIZEOF_UNSIGNED_LONG_LONG /* defined to 0 if type not available */
scm_t_int8
scm_t_uint8
scm_t_int16
scm_t_uint16
scm_t_int32
scm_t_uint32
Guile always defines these to 0 or 1
SCM_HAVE_T_INT64
SCM_HAVE_T_UINT64
and when either of these are defined to 1, also defines
scm_t_int64
scm_t_uint64
respectively.
Guile always defines
scm_t_timespec
** The macro SCM_IFLAGP now only returns true for flags
User code should never have used this macro anyway. And, you should not use
it in the future either. Thus, the following explanation is just for the
impropable case that your code actually made use of this macro, and that you
are willing to depend on internals which will probably change in the near
future.
Formerly, SCM_IFLAGP also returned true for evaluator bytecodes created with
SCM_MAKSPCSYM (short instructions) and evaluator bytecodes created with
SCM_MAKISYM (short instructions). Now, SCM_IFLAG only returns true for
Guile's special constants created with SCM_MAKIFLAG. To achieve the old
behaviour, instead of
SCM_IFLAGP(x)
you would have to write
(SCM_ISYMP(x) || SCM_IFLAGP(x))
private or renamed with a more suitable public name.
** The macro SCM_TYP16S has been deprecated.
This macro is not intended for public use. However, if you allocated types
with tc16 type codes in a way that you would have needed this macro, you are
expected to have a deep knowledge of Guile's type system. Thus, you should
know how to replace this macro.
This macro is not intended for public use.
** The macro SCM_SLOPPY_INEXACTP has been deprecated.
Use SCM_INEXACTP instead.
Use scm_is_true (scm_inexact_p (...)) instead.
** The macro SCM_SLOPPY_REALP has been deprecated.
Use SCM_REALP instead.
Use scm_is_real instead.
** The macro SCM_SLOPPY_COMPLEXP has been deprecated.
Use SCM_COMPLEXP instead.
Use scm_is_complex instead.
** The preprocessor define USE_THREADS has been deprecated.
** Some preprocessor defines have been deprecated.
Going forward, assume that the thread API is always present.
These defines indicated whether a certain feature was present in Guile
or not. Going forward, assume that the features are always present.
** The preprocessor define GUILE_ISELECT has been deprecated.
The macros are: USE_THREADS, GUILE_ISELECT, READER_EXTENSIONS,
DEBUG_EXTENSIONS, DYNAMIC_LINKING.
Going forward, assume that scm_internal_select is always present.
** The preprocessor define READER_EXTENSIONS has been deprecated.
Going forward, assume that the features represented by
READER_EXTENSIONS are always present.
** The preprocessor define DEBUG_EXTENSIONS has been deprecated.
Going forward, assume that the features represented by
DEBUG_EXTENSIONS are always present.
** The preprocessor define DYNAMIC_LINKING has been deprecated.
Going forward, assume that the features represented by
DYNAMIC_LINKING are always present.
The following macros have been removed completely: MEMOIZE_LOCALS,
SCM_RECKLESS, SCM_CAUTIOUS.
** The preprocessor define STACK_DIRECTION has been deprecated.
There should be no need to know about the stack direction for ordinary
programs. (Do not use.)
programs.
** New function: scm_effective_version
@ -1125,7 +906,7 @@ GUILE_INIT_SEGMENT_SIZE_1, and GUILE_MIN_YIELD_2 should be used.
The name scm_definedp is deprecated.
** The struct scm_cell has been renamed to scm_t_cell
** The struct scm_cell type has been renamed to scm_t_cell
This is in accordance to Guile's naming scheme for types. Note that
the name scm_cell is now used for a function that allocates and
@ -1151,11 +932,6 @@ The old functions for memory management have been deprecated. They
are: scm_must_malloc, scm_must_realloc, scm_must_free,
scm_must_strdup, scm_must_strndup, scm_done_malloc, scm_done_free.
** 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
@ -1168,15 +944,16 @@ 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
There are also SCM_RL_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_cell and scm_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.
Use the new functions scm_cell and scm_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.
** CHECK_ENTRY, CHECK_APPLY and CHECK_EXIT have been deprecated.
@ -1189,105 +966,35 @@ Use scm_c_source_property_breakpoint_p instead.
** Deprecated: scm_makmacro
Change your code to use either scm_makmmacro or, probably better, to use r5rs
macros. Also, be aware that macro expansion will not be done during
evaluation, but prior to evaluation.
** Removed from scm_root_state: def_inp, def_outp, def_errp, together
with corresponding macros scm_def_inp, scm_def_outp and scm_def_errp.
These were undocumented and unused copies of the standard ports at the
time that Guile was initialised. Normally the current ports should be
used instead, obtained from scm_current_input_port () etc. If an
application needs to retain earlier ports, it should save them in a
gc-protected location.
** Removed compile time option MEMOIZE_LOCALS
Now, caching of local variable positions during memoization is mandatory.
However, the option to disable the caching has most probably not been used
anyway.
** Removed compile time option SCM_RECKLESS
Full number of arguments checking of closures is mandatory now. However, the
option to disable the checking has most probably not been used anyway.
** Removed compile time option SCM_CAUTIOUS
Full number of arguments checking of closures is mandatory now. However, the
option to disable the checking has most probably not been used anyway.
** Deprecated configure flags USE_THREADS and GUILE_ISELECT
Previously, when the C preprocessor macro USE_THREADS was defined,
libguile included a thread API. This API is now always included, even
when threads are not really supported. Thus, you don't need to test
for USE_THREADS.
Analogously, GUILE_ISELECT was defined when the function
scm_internal_select was provided by Guile. This function is now
always defined, and GUILE_ISELECT with it.
Change your code to use either scm_makmmacro or to define macros in
Scheme, using 'define-macro'.
** New function scm_c_port_for_each.
This function is like scm_port_for_each but takes a pointer to a C
function as the callback instead of a SCM value.
** Deprecated definitions of error strings: scm_s_expression, scm_s_test,
scm_s_body, scm_s_bindings, scm_s_variable, scm_s_clauses, scm_s_formals
** Many definitions have been removed that were previously deprecated.
These error message strings were used to issue syntax error messages by
guile's evaluator. It's unlikely that they have been used by user code.
** Deprecated helper macros for evaluation and application: SCM_EVALIM2,
SCM_EVALIM, SCM_XEVAL, SCM_XEVALCAR
These macros were used in the implementation of the evaluator. It's unlikely
that they have been used by user code.
** Deprecated helper functions for evaluation and application:
scm_m_expand_body, scm_macroexp
These functions were used in the implementation of the evaluator. It's
unlikely that they have been used by user code.
** Deprecated functions and variables for evaluation and application:
scm_ceval, scm_deval and scm_ceval_ptr
These functions and variables were used in the implementation of the
evaluator. It's unlikely that they have been used by user code. If you have
used these functions, switch to scm_eval or scm_eval_x.
** Deprecated functions for unmemoization: scm_unmemocar
** Deprecated definitions for iloc and isym handling
SCM_ILOC00, SCM_IDINC, SCM_IDSTMSK, SCM_IFRINC, SCM_ICDR, SCM_IFRAME,
SCM_IDIST, SCM_ICDRP, SCM_ISYMNUM, SCM_ISYMCHARS, scm_isymnames.
These definitions were used in the implementation of the evaluator. It's
unlikely that they have been used by user code.
** Removed definitions: scm_lisp_nil, scm_lisp_t, s_nil_ify,
scm_m_nil_ify, s_t_ify, scm_m_t_ify, s_0_cond, scm_m_0_cond, s_0_ify,
scm_m_0_ify, s_1_ify, scm_m_1_ify, scm_debug_newcell,
scm_debug_newcell2, scm_tc16_allocated, SCM_SET_SYMBOL_HASH,
SCM_IM_NIL_IFY, SCM_IM_T_IFY, SCM_IM_0_COND, SCM_IM_0_IFY,
SCM_IM_1_IFY, SCM_GC_SET_ALLOCATED, scm_debug_newcell,
scm_debug_newcell2, SCM_HUP_SIGNAL, SCM_INT_SIGNAL, SCM_FPE_SIGNAL,
SCM_BUS_SIGNAL, SCM_SEGV_SIGNAL, SCM_ALRM_SIGNAL, SCM_GC_SIGNAL,
SCM_TICK_SIGNAL, SCM_SIG_ORD, SCM_ORD_SIG, SCM_NUM_SIGS,
scm_top_level_lookup_closure_var, *top-level-lookup-closure*,
scm_system_transformer, scm_eval_3, scm_eval2,
root_module_lookup_closure, SCM_SLOPPY_STRINGP, SCM_RWSTRINGP,
scm_read_only_string_p, scm_make_shared_substring, scm_tc7_substring,
sym_huh, SCM_VARVCELL, SCM_UDVARIABLEP, SCM_DEFVARIABLEP, scm_mkbig,
scm_big2inum, scm_adjbig, scm_normbig, scm_copybig, scm_2ulong2big,
scm_dbl2big, scm_big2dbl, SCM_FIXNUM_BIT, SCM_SETCHARS,
SCM_SLOPPY_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET, SCM_LENGTH_MAX,
SCM_SETLENGTH, SCM_ROSTRINGP, SCM_ROLENGTH, SCM_ROCHARS, SCM_ROUCHARS,
SCM_SUBSTRP, SCM_COERCE_SUBSTR, scm_sym2vcell, scm_intern,
scm_intern0, scm_sysintern, scm_sysintern0,
scm_lisp_nil, scm_lisp_t, s_nil_ify, scm_m_nil_ify, s_t_ify,
scm_m_t_ify, s_0_cond, scm_m_0_cond, s_0_ify, scm_m_0_ify, s_1_ify,
scm_m_1_ify, scm_debug_newcell, scm_debug_newcell2,
scm_tc16_allocated, SCM_SET_SYMBOL_HASH, SCM_IM_NIL_IFY, SCM_IM_T_IFY,
SCM_IM_0_COND, SCM_IM_0_IFY, SCM_IM_1_IFY, SCM_GC_SET_ALLOCATED,
scm_debug_newcell, scm_debug_newcell2, SCM_HUP_SIGNAL, SCM_INT_SIGNAL,
SCM_FPE_SIGNAL, SCM_BUS_SIGNAL, SCM_SEGV_SIGNAL, SCM_ALRM_SIGNAL,
SCM_GC_SIGNAL, SCM_TICK_SIGNAL, SCM_SIG_ORD, SCM_ORD_SIG,
SCM_NUM_SIGS, scm_top_level_lookup_closure_var,
*top-level-lookup-closure*, scm_system_transformer, scm_eval_3,
scm_eval2, root_module_lookup_closure, SCM_SLOPPY_STRINGP,
SCM_RWSTRINGP, scm_read_only_string_p, scm_make_shared_substring,
scm_tc7_substring, sym_huh, SCM_VARVCELL, SCM_UDVARIABLEP,
SCM_DEFVARIABLEP, scm_mkbig, scm_big2inum, scm_adjbig, scm_normbig,
scm_copybig, scm_2ulong2big, scm_dbl2big, scm_big2dbl, SCM_FIXNUM_BIT,
SCM_SETCHARS, SCM_SLOPPY_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET,
SCM_LENGTH_MAX, SCM_SETLENGTH, SCM_ROSTRINGP, SCM_ROLENGTH,
SCM_ROCHARS, SCM_ROUCHARS, SCM_SUBSTRP, SCM_COERCE_SUBSTR,
scm_sym2vcell, scm_intern, scm_intern0, scm_sysintern, scm_sysintern0,
scm_sysintern0_no_module_lookup, scm_init_symbols_deprecated,
scm_vector_set_length_x, scm_contregs, scm_debug_info,
scm_debug_frame, SCM_DSIDEVAL, SCM_CONST_LONG, SCM_VCELL,
@ -1301,16 +1008,6 @@ SCM_NECONSP, SCM_GLOC_VAR, SCM_GLOC_VAL, SCM_GLOC_SET_VAL,
SCM_GLOC_VAL_LOC, scm_make_gloc, scm_gloc_p, scm_tc16_variable,
SCM_CHARS, SCM_LENGTH, SCM_SET_STRING_CHARS, SCM_SET_STRING_LENGTH.
** Deprecated definitions for debugging: scm_debug_mode, SCM_DEBUGGINGP
These functions were used in the implementation of the evaluator. It's
unlikely that they have been used by user code.
** Removed macro SCM_MAKSPCSYM
This macro was used for defining byte codes of the evaluator. It is almost
impossible that user code has used this macro.
Changes since Guile 1.4: