1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-08 22:12:26 +02:00
Commit graph

4399 commits

Author SHA1 Message Date
Kevin Ryde
287f8ad11e *** empty log message *** 2003-07-08 00:42:27 +00:00
Kevin Ryde
23c96d9b15 Matthias Koeppe <mkoeppe@merkur.math.uni-magdeburg.de>:
(scm_t_bits, scm_t_signed_bits, etc): Avoid solaris empty
defines of INTPTR_MAX and UINTPTR_MAX, combine conditionals for
scm_t_bits and scm_t_signed_bits to avoid any chance of one and not
the other using intptr_t.
2003-07-08 00:41:34 +00:00
Kevin Ryde
005d2366ef *** empty log message *** 2003-07-08 00:33:43 +00:00
Kevin Ryde
6efadd7cb6 (scm_make_polar): Use sincos, when available.
(scm_magnitude): Use hypot.
2003-07-08 00:27:03 +00:00
Kevin Ryde
7a7b738455 (scm_call_with_new_thread): In docstring, use "( )"
outside @var to quieten makeinfo, and use @code.
2003-07-07 22:00:34 +00:00
Kevin Ryde
c2dfff19f6 (scm_char_ready_p, scm_peek_char): In docstrings, don't use
@footnote since it doesn't go though to guile-procedures.txt.
2003-07-07 21:58:55 +00:00
Han-Wen Nienhuys
cbfe8e6242 (decrease_mtrigger): new function
(increase_mtrigger): new function, separate debug registering and
mtrigger administration.
(scm_gc_realloc): bugfix: do mtrigger administration before the
actual realloc, for the realloc might invalidate a GC-d segment of
memory. Thanks to Sam Hocevar for pointing this out.
(scm_gc_realloc): use scm_malloc_reregister instead of
unregistering and registering in sequence.
2003-07-06 14:54:07 +00:00
Han-Wen Nienhuys
aeb4c2e162 (SCM_ASSERT): change "else" expansion to "do { } while (0)" 2003-07-02 23:04:54 +00:00
Han-Wen Nienhuys
4c27f8d23b (SCM_ASRTGO): add "else" to macro expansions with if
clauses.
2003-07-02 16:11:08 +00:00
Marius Vollmer
983e697d52 *** empty log message *** 2003-06-29 14:57:54 +00:00
Marius Vollmer
8de7acbd0f (SCM_OPDIRP, scm_fport, scm_option, scm_srcprops, scm_srcprops_chunk,
scm_info_frame, scm_stack, scm_array, scm_array_dim,
SCM_ARRAY_CONTIGUOUS, SCM_FUNC_NAME, SCM_WTA, RETURN_SCM_WTA,
SCM_VALIDATE_NUMBER_COPY, SCM_VALIDATE_NUMBER_DEF_COPY,
SCM_VALIDATE_OPDIR): Re-added from the release_1_6 branch.
2003-06-29 14:57:00 +00:00
Stefan Jahn
78b6566ece 2003-06-25 Stefan Jahn <stefan@lkcc.org>
* continuations.c: Redeclaration of getcontext() via the
        __asm__ ("getcontext") directive.

        * continuations.h: Include <ucontext.h> instead of
        <sys/ucontext.h>.
2003-06-25 18:12:35 +00:00
Kevin Ryde
1ebb8497cb *** empty log message *** 2003-06-21 00:17:47 +00:00
Kevin Ryde
fa60559018 (_GNU_SOURCE): #define, to get C99 things.
(scm_asinh, scm_acosh, scm_atanh, scm_truncate, $asinh, $acosh,
$atanh, truncate): Use C library asinh, acosh, atanh and trunc, when
available.
(scm_inexact_to_exact): Expand isfinite to its definition !isinf.
(isfinite): Remove, conflicts with C99 isfinite().
2003-06-21 00:12:51 +00:00
Marius Vollmer
fbf85ba4d8 *** empty log message *** 2003-06-19 12:49:20 +00:00
Marius Vollmer
cc5c1b6606 (scm_strhash, scm_sym2ovcell_soft, scm_sym2ovcell,
scm_intern_obarray_soft, scm_intern_obarray, scm_symbol_value0,
scm_string_to_obarray_symbol scm_intern_symbol, scm_unintern_symbol,
scm_symbol_binding, scm_symbol_interned_p, scm_symbol_bound_p,
scm_symbol_set_x, scm_gentemp): Re-added from the release_1_6 branch.
2003-06-19 12:48:47 +00:00
Stefan Jahn
fcc5d734fc 2003-06-14 Stefan Jahn <stefan@lkcc.org>
* configure.in: Checking for __int64 as possible candidate for
        the SCM_I_GSC_T_INT64 define.

2003-06-14  Stefan Jahn  <stefan@lkcc.org>

        * threads.h: Redefined scm_getspecific() and scm_setspecific()
        to be functions instead of macros.

        * threads.c: Conditionalized inclusion of <sys/time.h> and
        <unistd.h>.
        (scm_getspecific, scm_setspecific): Made these two function
        real part of the API.

        * posix.c (s_scm_putenv): Added some code to make a
        (putenv "FOO="), i.e. setting an empty string, work also on
        Win32 systems.  Thanks to Kevin Ryde for the proposal.
2003-06-14 05:36:02 +00:00
Kevin Ryde
75b14838a6 *** empty log message *** 2003-06-11 23:56:55 +00:00
Kevin Ryde
ff4b83917a (scm_putenv): Add freebsd to comment about need to use unsetenv. 2003-06-11 23:43:03 +00:00
Kevin Ryde
f158788fd1 Correction to:
(scm_putenv): Free temporary ptr in mingw unset.

Need to ensure "e" is not unused when unsetenv is available.
2003-06-11 23:24:08 +00:00
Kevin Ryde
c3ae8e07fc *** empty log message *** 2003-06-11 23:21:45 +00:00
Kevin Ryde
dd65e90f3b (scm_putenv): Free temporary ptr in mingw unset. 2003-06-11 23:15:02 +00:00
Marius Vollmer
9d9fa0928a *** empty log message *** 2003-06-09 20:23:24 +00:00
Marius Vollmer
1a973c42e2 (scm_peek_char): Safe the column of the port around the getc/ungetc
calls.  Thanks to Dr. Peter Ivanyi!
2003-06-09 20:02:20 +00:00
Kevin Ryde
f24783754b *** empty log message *** 2003-06-06 22:38:48 +00:00
Kevin Ryde
ee89863b09 Use inttypes.h and stdint.h when available, for INTPTR_MAX
and friends required by scm_t_bits setups.
2003-06-06 22:32:29 +00:00
Dirk Herrmann
6375e04059 * tags.h (scm_tc2_int): Added.
* tags.h (scm_tc3_int_1, scm_tc3_int_2): Expressed in terms of
	scm_tc2_int.

	* tags.h (scm_tcs_cons_imcar, scm_tcs_cons_nimcar, scm_tcs_struct,
	scm_tcs_closures): Hard coded values replaced by symbolic ones.
2003-06-06 06:02:20 +00:00
Dirk Herrmann
f5c6ec2fb0 * test-suite/tests/chars.test: Fixed test comment. The bug that
this test detects was actually introduced by my patch from
	2003-05-31.

	* libguile/eval.c: Partially undid my patch from 2003-05-31.  This
	patch caused the segfault referenced in the previous changelog
	entry.
2003-06-04 23:50:13 +00:00
Dirk Herrmann
47dbd81e77 * test-suite/tests/chars.test: Added test, attempting to apply a
character.  This test will only pass if the other changes that are
	submitted together with this patch are also applied.

	* libguile/tags.h: Fixed comment about the immediate type code
	layout.

	* libguile/eval.c: Fixed handling of non-special instructions.
	Without this patch, guile will segfault on (#\0) and similar
	instructions.
2003-06-04 23:22:54 +00:00
Kevin Ryde
e418bd7c12 *** empty log message *** 2003-06-04 16:38:59 +00:00
Kevin Ryde
dd72382c32 (scm_input_error): Pass arg list parameter to scm_error_scm,
rather than SCM_EOL.  Needed by "Unknown # object" case in scm_lreadr.
2003-06-04 16:36:03 +00:00
Kevin Ryde
3ec52c513f *** empty log message *** 2003-06-04 16:14:37 +00:00
Kevin Ryde
e06beeadda (scm_max, scm_min): For inum, bignum and real, if other
operand is NaN, then return NaN.  Also avoid passing NaN to mpz_cmp_d.
2003-06-04 16:09:38 +00:00
Dirk Herrmann
d0624e391b * __scm.h, gc-card.c (SCM_DEBUG_DEBUGGER_SUPPORT,
SCM_DEBUG_DEBUGGING_SUPPORT): Renamed macro
	SCM_DEBUG_DEBUGGER_SUPPORT to SCM_DEBUG_DEBUGGING_SUPPORT and
	generalized it to apply not only to C level functions but also to
	scheme level functions.

	* debug.c, debug.h, eval.c (make-iloc, scm_make_iloc, iloc?,
	scm_iloc_p, dbg-make-iloc, scm_dbg_make_iloc, dbg-iloc?,
	scm_dbg_iloc_p): Moved functions scm_make_iloc, scm_iloc_p to
	eval.c, made them available under SCM_DEBUG_DEBUGGING_SUPPORT == 1
	only and renamed them to scm_dbg_make_iloc, scm_dbg_iloc_p,
	respectively.

	* deprecated.h, eval.c, eval.h (SCM_ILOC00, SCM_IDINC,
	SCM_IDSTMSK): Deprecated.  The macro definitions are moved from
	eval.h into eval.c and a copy is placed into deprecated.h.

	* eval.c, eval.h (SCM_MAKE_ILOC): Removed from eval.h and placed
	into eval.c. This definition was not part of the API in any
	officially released version of guile and thus does not need to go
	through a phase of deprecation.
2003-06-04 05:28:34 +00:00
Dirk Herrmann
e90c3a895d * deprecated.c, deprecated.h, eval.c, eval.h: Deprecated
scm_s_expression, scm_s_test, scm_s_body, scm_s_bindings,
	scm_s_variable, scm_s_clauses, scm_s_formals.  In eval.c the
	definitions are make static and renamed from scm_s_xxx to s_xxx.
	In deprecated.c the original definitions are copied.

	* deprecated.h, eval.c, eval: Deprecated SCM_EVALIM2, SCM_EVALIM,
	SCM_XEVAL and SCM_XEVALCAR.  The macro definitions are moved from
	eval.h into eval.c and a copy (slightly modified to work in user
	code) is placed into deprecated.h.

	* eval.c: Use the local static s_xxx definitions instead of the
	scm_s_xxx definitions throughout.
2003-06-02 20:54:21 +00:00
Dirk Herrmann
14b18ed6f5 This set of patches separates the representation of the cxr family
of functions (car, cdr etc.) from the dsubr family of functions
	(i. e. functions that take a double precision floating point
	argument).  Further, the algorithm for handling the cxr function
	is improved.

	* eval.c (SCM_CEVAL, SCM_APPLY, scm_trampoline_1), numbers.c
	(scm_asinh, scm_acosh, scm_atanh, scm_truncate, scm_round, floor,
	ceil, sqrt, fabs, exp, log, sin, cos, tan, asin, acos, atan, sinh,
	cosh, tanh), objects.c (scm_class_of), procprop.c
	(scm_i_procedure_arity), ramap.c (scm_array_map_x), tags.h
	(scm_tc7_dsubr, scm_tcs_subrs): Introduce scm_tc7_dsubr as new
	typecode for the dsubr family of functions.

	* ramap.c (ramap_cxr, ramap_dsubr): Renamed ramap_cxr to
	ramap_dsubr.

	* eval.c (SCM_CEVAL, SCM_APPLY, call_cxr_1), pairs.c
	(scm_init_pairs): Make use of the (now usable) second cell element
	of a scm_tc7_cxr function to implement the cxr family of functions
	more efficiently.
2003-06-01 13:58:42 +00:00
Dirk Herrmann
2ca0d20720 * eval.c (SCM_CEVAL, SCM_APPLY, scm_trampoline_0,
scm_trampoline_1, scm_trampoline_2): Postpone error cases to the
	end of an if-else-if-sequence of checks.
2003-05-31 07:38:04 +00:00
Dirk Herrmann
9a069bdd77 * eval.c (SCM_CEVAL): Improved readability of call-with-values
execution.  Generalize apply_closure to apply_proc and use that
	for call-with-values.
2003-05-30 14:36:56 +00:00
Dirk Herrmann
e910e9d2eb * eval.c (SCM_CEVAL): Avoid one level of indirection when applying
a non closure.
2003-05-30 11:04:57 +00:00
Stefan Jahn
1e498fbd0f 2003-05-30 Stefan Jahn <stefan@lkcc.org>
* configure.in: Checking for unsetenv().

2003-05-30  Stefan Jahn  <stefan@lkcc.org>

        * posix.c (s_scm_putenv): Use the new HAVE_UNSETENV
        appropriately for mingw32 hosts.

        * numbers.h: Defining copysign(), isnan() and finite() to
        be prefixed by a single '_' for mingw32 hosts.
2003-05-30 09:39:34 +00:00
Kevin Ryde
c47e2599cb *** empty log message *** 2003-05-30 00:28:04 +00:00
Kevin Ryde
713a425913 (z_negative_one): New variable.
(scm_init_numbers): Initialize it.
(scm_logcount): Use it and mpz_hamdist to count zeros for negatives.
2003-05-30 00:23:11 +00:00
Stefan Jahn
2e945bccca 2003-05-29 Stefan Jahn <stefan@lkcc.org>
* configure.in: Removed -lm check and added a cached check for
        __libc_stack_end to get it building for mingw32 hosts.

2003-05-29  Stefan Jahn  <stefan@lkcc.org>

        * win32-dirent.c: Use malloc() instead of scm_malloc().

        * stime.c (s_scm_strftime): Add a type cast to avoid compiler
        warning.

        * posix.c (s_scm_putenv): Disable use of unsetenv() for the
        mingw32 build.

        * modules.c (s_scm_module_import_interface): Renamed local
        variable interface to _interface.  Seems like 'interface'
        is a special compiler directive for the mingw32 compiler.

        * mkstemp.c: Provide prototype to avoid compiler warning.

        * load.c (s_scm_search_path): Fixed absolute and relative
        path detections for native Windows platforms.

        * gc.h, threads.h: Export some more symbols using SCM_API
	(necessary to build on mingw32).

        * gc-freelist.c ("s_scm_map_free_list",
        "s_scm_gc_set_debug_check_freelist_x"): Fixed use of FUNC_NAME.

        * fports.c (fport_fill_input): Disable use of
        fport_wait_for_input() on Win32 platforms.

        * filesys.c (s_scm_basename): Fixed __MINGW32__ code.

        * Makefile.am: Modified some rules for cross compiling.

2003-05-29  Stefan Jahn  <stefan@lkcc.org>

        * raw-ltdl.c: Some more modifications for mingw32 platforms.

2003-05-29  Stefan Jahn  <stefan@lkcc.org>

        * Makefile.am (libguile_srfi_srfi_1_la_LDFLAGS,
        libguile_srfi_srfi_4_la_LDFLAGS,
        libguile_srfi_srfi_13_14__la_LDFLAGS): Added the -no-undefined
        option for the mingw32 build.

2003-05-29  Stefan Jahn  <stefan@lkcc.org>

        * standalone/Makefile.am: Setup to build on mingw32.
2003-05-29 14:39:13 +00:00
Dirk Herrmann
ddd8f927d8 * libguile/eval.c (SCM_CEVAL): In case of an application, all checks
for a proper function object and the correct number of arguments are
	now performed in the application part of SCM_CEVAL.

	(scm_badformalsp):  Removed.

	* test-suite/tests/r5rs_pitfall.test: Test 2.1 now passes.
2003-05-25 07:50:23 +00:00
Dirk Herrmann
f8ba2197fa * deprecated.c (scm_read_and_eval_x): Fixed C99-ism. 2003-05-25 05:13:17 +00:00
Mikael Djurfeldt
a502595f05 (NUM2INTEGRAL): Avoid warning about conditional
always being false by inserting preprocessor conditional.  (Thanks
to Bruce Korb.)
2003-05-22 10:22:20 +00:00
Mikael Djurfeldt
79f55b7c6b * __scm.h (SCM_STACK_PTR): New macro. (Cast argument through
(void *) in order to avoid an aliasing warning; thanks to Bruce
Korb.)

* stackchk.h (SCM_STACK_OVERFLOW_P): Use SCM_STACK_PTR.

* threads.c (suspend, launch_thread, scm_threads_mark_stacks): Use
SCM_STACK_PTR.

* threads.c (scm_threads_mark_stacks): Bugfix: Changed
thread->base --> t->base.

* eval.c (SCM_CEVAL): Don't cast argument of SCM_STACK_OVERFLOW_P.
2003-05-22 09:16:33 +00:00
Marius Vollmer
8549458751 *** empty log message *** 2003-05-20 19:59:52 +00:00
Marius Vollmer
4abecea81c (scm_subr_entry, SCM_SUBR_DOC, scm_make_subr,
scm_make_subr_with_generic, scm_make_subr_opt,
scm_call_catching_errors, scm_make_smob_type_mfpe, scm_set_smob_mfpe,
scm_strprint_obj, scm_read_0str, scm_eval_0str, SCM_CHARS, SCM_UCHARS,
SCM_LENGTH): Re-added from the release_1_6 branch.  Some have been
slightly rewritten.  (scm_i_object_chars, scm_i_object_length): New,
to support SCM_CHARS, SCM_UCHARS, and SCM_LENTH.
2003-05-20 19:59:38 +00:00
Marius Vollmer
47dee22897 *** empty log message *** 2003-05-20 19:14:38 +00:00