this should be compiled for BUILD host.
Override default rule for
guile_filter_doc_snarfage$(EEXECT); this should run on BUILD host.
Add missing $(EXEEXT) to guile_filter_doc_snarfage invocation.
(snarf2checkedtexi): Use GUILE_FOR_BUILD instead of preinstguile.
SCM_CEVAL): Removed compile time option SCM_CAUTIOUS to clean up
the code. Full number of arguments checking of closures is
mandatory now. However, the option to disable the checking has
most probably not been used anyway.
(scm_lookupcar, scm_lookupcar1, scm_badargsp, SCM_CEVAL,
SCM_APPLY, scm_map, scm_for_each), feature.c (scm_init_feature),
gsubr.c (scm_gsubr_apply), numbers.c (scm_logand, scm_logior,
scm_logxor, scm_i_dbl2big), srcprop.c (scm_source_properties,
scm_set_source_properties_x, scm_source_property): Removed
compile time option SCM_RECKLESS to clean up the code. Full
number of arguments checking of closures is mandatory now.
However, the option to disable the checking has most probably not
been used anyway.
* srcprop.c (scm_source_properties, scm_set_source_properties_x,
scm_source_property): Use !SCM_CONSP instead of SCM_NCONSP.
(scm_make_argv_from_stringlist): static procs: 1) renamed both to
allocate_string_pointers. 2) simplified: don't reallocate the
strings, just make an array of pointers 3) avoid memory leaks on
error 4) let the procedure report errors in its own name.
Consequences: 1) the procedures now assume that SCM strings are
nul-terminated, which should always be the case. 2) Since strings
are not reallocated, it's now possible for strings passed to
dynamic-args-call to be mutated.
MEMOIZE_LOCALS to clean up the code. Now, caching of local
variable positions during memoization is mandatory. However, the
option to disable the caching has most probably not been used
anyway.
(mem2complex): Do not create negative NaNs.
(scm_leq_p, scm_geq_p): Explicitely return #f when comparing a
NaN.
(scm_inexact_to_exact): Signal error when converting a NaN.
* numbers.h: Conditionally include floatingpoint.h, ieeefp.h, and
nan.h. Provide declarations for scm_inf_p, scm_nan_p, scn_inf,
and scm_nan.
* numbers.c: [SCO && ! HAVE_ISNAN] (isnan): New function.
[SCO && ! HAVE_ISINF] (isinf): New function.
(xisinf, xisnan): New functions.
(IS_INF): Delete.
(isfinite): Define in terms of xisinf.
(scm_inf_p, scm_nan_p): New functions.
(guile_Inf, guile_NaN): New file-scope vars.
(guile_ieee_init): New function.
(scm_inf, scm_nan): New functions.
(idbl2str): Handle Inf and NaN. Remove funny label and
corresponding gotos.
(ALLOW_DIVIDE_BY_ZERO): New macro.
(scm_divide): Allow division by zero to occur if
ALLOW_DIVIDE_BY_ZERO is defined.
Handle bignums and ints as special cases.
Additional stuff by me:
numbers.c (mem2ureal): Recognize "inf.0" and "nan.xxx".
(scm_even_p, scm_odd_p): Treat infinity as even and odd.
(iflo2str): Don't output a '+' for negative numbers or for Inf and
NaN. They will provide their own sign.
(scm_divide): Only allow divides by inexact zeros. Dividing by
exact zeros still signals an errors.
Cramer for pointing out the disuse.)
* root.h (scm_root_state): removed def_inp, def_outp, def_errp.
* root.c (root_mark): don't mark them.
(scm_make_root): don't set them to #f.
* init.c (scm_init_standard_ports): don't initialise with the
default ports.
VPATH build, which is not allowed. It also isn't needed since it only
works when an output filename has been specified and in that case we
don't need to clean the input file because the output file will
already exist.
function, replaces macro SRCBRKP.
(SRCBRKP): Deprecated.
* eval.c (SCM_CEVAL): Replaced use of SRCBRKP by call to
scm_c_source_property_breakpoint_p. Removed some use of arg1 as
temporary variable.
is given, use "-" as the output filename (i.e., stdout). Only 'clean'
the inputfile or remove the output file on error when the output file
name is not "-". Define the preprocessor macro SCM_MAGIC_SNARFER
while snarfing.
(SCM_CEVAL): Minimized scope of variable orig_sym. Eliminated
goto-labels cdrxnoap, cdrxbegin and nontoplevel_cdrxnoap. Changed
argument checking order for set! to locals, variables and symbols.
Improvements to control structure. Removed some uses of arg1 and
arg2 as temporary variables.
Add "-d" and "-D" support.
(deprecated_list): New var.
(compat_mode_clean_xxx): Delete.
(grep_deprecated): New func.
("main"): If "-d" or "-D", call `grep_deprecated'.