| Commit message (Expand) | Author | Age | Files | Lines |
* | remove out-of-date comment...* libguile/dynwind.c (scm_dynwind_end): Remove out-of-date comment.
| Andy Wingo | 2012-03-03 | 1 | -1/+0 |
* | the dynamic stack is really a stack now, instead of a list...* libguile/dynstack.h:
* libguile/dynstack.c: New files, implementing the dynamic stack as a
true stack instead of a linked list. This lowers the cost of
dynwinds: frames, winders, prompts, with-fluids, and dynamic-wind.
For the most part, we allocate these items directly on the stack.
* libguile/dynwinds.h:
* libguile/dynwinds.c: Adapt all manipulators of the wind stack to use
interfaces from dynstack.c. Remove heap-allocated winder and frame
object types.
(scm_dowinds, scm_i_dowinds): Remove these. The first was exported,
but it was not a public interface.
* libguile/continuations.c:
* libguile/continuations.h (scm_t_contregs): Continuation objects
reference scm_t_dynstack* values now. Adapt to the new interfaces.
* libguile/control.c:
* libguile/control.h: There is no longer a scm_tc7_prompt kind of object
that can be allocated on the heap. Instead, the prompt flags, key,
and registers are pushed on the dynwind stack. (The registers are
still on the heap.) Also, since the vm_cont will reference the
dynwinds, make the partial continuation stub take just one extra arg,
instead of storing the intwinds separately in the object table.
* libguile/fluids.c:
* libguile/fluids.h: No more with-fluids objects; instead, the fluids go
on the dynstack. The values still have to be on the heap, though.
(scm_prepare_fluids, scm_swap_fluids): New internal functions,
replacing scm_i_make_with_fluids and scm_i_swap_with_fluids.
* libguile/print.c: Remove prompt and with-fluids printers.
* libguile/tags.h: Revert prompt and with-fluids tc7 values to what they
were before they were allocated.
* libguile/vm-i-system.c (partial_cont_call): Just pop the vmcont, the
intwinds will not be passed as a second arg. Rewind the dynamic stack
from within the VM, so that any rewinder sees valid prompt entries.
(call_cc, tail_call_cc): Adapt to pass the dynstack to
scm_i_vm_capture_stack.
(prompt, wind, unwind, wind_fluids, unwind_fluids): Adapt to the new
interfaces.
* libguile/vm.h (scm_i_capture_current_stack): Rename from
scm_i_vm_capture_continuation.
(scm_i_vm_capture_stack): Take a dynstack as an argument.
* libguile/vm.c (vm_reinstate_partial_continuation): Don't wind here, as
that could result in winders seeing invalid prompts.
* libguile/eval.c:
* libguile/root.c:
* libguile/stacks.c:
* libguile/threads.c:
* libguile/threads.h:
* libguile/throw.c: Adapt other users of dynwinds to use the dynstack.
| Andy Wingo | 2012-03-03 | 1 | -194/+32 |
* | check for pairs with scm_is_pair, not scm_nimp...* libguile/array-map.c (scm_ra_matchp, scm_ramapc):
* libguile/dynwind.c (scm_swap_bindings):
* libguile/hooks.c (hook_print, scm_c_run_hook, scm_c_run_hookn):
* libguile/objprop.c (scm_object_property, scm_set_object_property_x):
Use !scm_is_pair as the termination condition, not scm_imp.
| Andy Wingo | 2011-10-24 | 1 | -1/+1 |
* | deprecate scm_internal_dynamic_wind...* libguile/dynwind.c:
* libguile/dynwind.h:
* libguile/deprecated.h (scm_t_inner):
* libguile/deprecated.c (scm_internal_dynamic_wind): Deprecate, as the
scm_dynwind API is better, and this API encourages users to stuff SCM
values into pointers.
| Andy Wingo | 2011-05-13 | 1 | -18/+1 |
* | tighten up scm_i_dowinds, fixing invalid SCM_CAR (prompt)...* libguile/dynwind.c: Update comment regarding what can be on the wind
stack.
(scm_i_dowinds): Clean up to remove @bind and catch/throw-handler
cases, to add a case for prompts, and to be more strict in general
regarding the set of things that can be on the wind stack. Fixes a bug
whereby prompts were accessed via SCM_CAR; thanks to Ken Raeburn for
the report.
| Andy Wingo | 2010-03-04 | 1 | -32/+15 |
* | add with-fluids objects and primitive syntax...* libguile/tags.h (scm_tc7_with_fluids): Allocate a tc7 for
"with-fluids" objects, which will only live on the dynamic stack (wind
list), not in normal scheme-land.
* libguile/fluids.h (SCM_WITH_FLUIDS_P, SCM_WITH_FLUIDS_LEN)
(SCM_WITH_FLUIDS_NTH_FLUID, SCM_WITH_FLUIDS_NTH_VAL)
(SCM_WITH_FLUIDS_SET_NTH_VAL): Add some accessors.
* libguile/fluids.c (scm_i_make_with_fluids, scm_i_swap_with_fluids):
New internal functions.
(scm_c_with_fluids, scm_c_with_fluid): Push with-fluids objects on the
dynwind list, not winders.
* libguile/dynwind.c (scm_i_dowinds): Add cases for winding and
unwinding with-fluids objects.
* libguile/memoize.h (scm_sym_with_fluids, SCM_M_BEGIN): New public
data.
* libguile/memoize.c (scm_m_with_fluids): Define with-fluids as a
primitive syntax.
(unmemoize): Add with-fluids case.
* libguile/eval.c (eval):
* module/ice-9/eval.scm (primitive-eval): Add with-fluids cases.
* test-suite/tests/fluids.test
("fluids not modified if nonfluid passed to with-fluids"): Enable a
now-passing test.
| Andy Wingo | 2010-02-18 | 1 | -0/+10 |
* | dynwind is now a part of guile's primitive language...* libguile/memoize.h (scm_sym_at_dynamic_wind, SCM_M_DYNWIND)
* libguile/memoize.c (memoized_tags, MAKMEMO_DYNWIND)
(scm_m_at_dynamic_wind, unmemoize): Add dynwind as a primitive
expression type.
* libguile/dynwind.c (scm_dynamic_wind): Downgrade to a normal C
function.
* libguile/eval.c (eval):
* module/ice-9/eval.scm (primitive-eval): Add dynwind support.
* module/ice-9/r4rs.scm: More relevant docs.
(apply): Define in a more regular way.
(dynamic-wind): Add to this file, with docs, dispatching to
@dynamic-wind.
* module/language/tree-il/primitives.scm: Parse @dynamic-wind into a
tree-il dynamic-wind.
| Andy Wingo | 2010-02-18 | 1 | -52/+4 |
* | Revert "Change dynwind flag enums to #defines, for greater portability"...This reverts commit b25aa0b9373d2798469e0fe999cd915e8beedc4f.
| Neil Jerram | 2009-10-07 | 1 | -5/+9 |
* | Change dynwind flag enums to #defines, for greater portability...Thanks to Inge Gutheil for raising this problem.
* doc/ref/api-control.texi (Dynamic Wind): Remove doc for
scm_t_dynwind_flags, and change uses of scm_t_dynwind_flags to int.
Mention possible flags inside doc for scm_dynwind_begin instead.
Similarly for scm_t_wind_flags. In this case the doc on possible
flags is moved to after the four functions that can use them.
* libguile/dynwind.c (scm_dynwind_begin): Change scm_t_dynwind_flags
to int.
(scm_dynwind_unwind_handler): Change scm_t_wind_flags to int.
(scm_dynwind_rewind_handler): Ditto.
(scm_dynwind_unwind_handler_with_scm): Ditto.
(scm_dynwind_rewind_handler_with_scm): Ditto.
* libguile/dynwind.h (SCM_F_DYNWIND_REWINDABLE): Use #define instead
of typedef enum.
(SCM_F_WIND_EXPLICITLY): Ditto.
(function declarations): Change scm_t_dynwind_flags and
scm_t_wind_flags to int.
* test-suite/standalone/test-unwind.c (check_cont_body): Change
scm_t_dynwind_flags to int.
| Neil Jerram | 2009-10-02 | 1 | -9/+5 |
* | Merge branch 'master' into boehm-demers-weiser-gc...Conflicts:
lib/Makefile.am
libguile/Makefile.am
libguile/frames.c
libguile/gc-card.c
libguile/gc-freelist.c
libguile/gc-mark.c
libguile/gc-segment.c
libguile/gc_os_dep.c
libguile/load.c
libguile/macros.c
libguile/objcodes.c
libguile/programs.c
libguile/strings.c
libguile/vm.c
m4/gnulib-cache.m4
m4/gnulib-comp.m4
m4/inline.m4
| Ludovic Courtès | 2009-08-18 | 1 | -6/+7 |
|\ |
|
| * | Change Guile license to LGPLv3+...(Not quite finished, the following will be done tomorrow.
module/srfi/*.scm
module/rnrs/*.scm
module/scripts/*.scm
testsuite/*.scm
guile-readline/*
)
| Neil Jerram | 2009-06-17 | 1 | -6/+7 |
* | | Merge branch 'master' into boehm-demers-weiser-gc...Conflicts:
libguile/continuations.c
libguile/gc-freelist.c
libguile/gc-mark.c
libguile/symbols.c
libguile/threads.c
module/ice-9/boot-9.scm
| Ludovic Courtès | 2009-03-22 | 1 | -2/+2 |
|\| |
|
| * | fix dynwind + nonlocal entrance/exit + programs bug...* libguile/dynwind.c (scm_i_dowinds): Invoke guard procedures when
entering and exiting nonlocally. Previously this procedure was
program-racist.
| Andy Wingo | 2008-10-09 | 1 | -2/+2 |
* | | Merge branch 'master' into boehm-demers-weiser-gc...Conflicts:
lib/Makefile.am
libguile/gc-card.c
libguile/gc-freelist.c
libguile/gc-mark.c
libguile/gc-segment.c
libguile/gc.c
libguile/gc.h
libguile/gc_os_dep.c
libguile/private-gc.h
m4/.cvsignore
m4/gnulib-cache.m4
m4/gnulib-comp.m4
| Ludovic Courtès | 2008-09-13 | 1 | -1/+5 |
|\| |
|
| * | Include <config.h> in all C files; use `#ifdef HAVE_CONFIG_H' rather than `#if'. | Ludovic Courtès | 2008-09-13 | 1 | -1/+5 |
* | | Removed a lot of now-useless SMOB mark/free functions....* libguile/arbiters.c (scm_init_arbiters): Don't invoke `scm_set_smob_mark'.
* libguile/async.c (async_gc_mark): Removed.
(scm_init_async): Don't invoke `scm_set_smob_mark'.
* libguile/coop-pthreads.c (thread_mark): Removed.
(create_thread): Use `scm_gc_malloc' instead of `scm_malloc' when
allocating `launch_data'.
(mutex_mark): Removed.
(scm_threads_init): Don't invoke `scm_set_smob_mark' and
`scm_set_smob_free'.
* libguile/debug.c (scm_init_debug): Don't invoke `scm_set_smob_mark'.
* libguile/dynl.c (dynl_obj_mark): Removed.
(scm_init_dynamic_linking): Don't invoke `scm_set_smob_mark'.
* libguile/dynwind.c (winder_mark): Removed.
(scm_init_dynwind): Don't invoke `scm_set_smob_mark'.
* libguile/environments.c (environment_mark): Removed.
(environment_free): Removed.
(observer_mark): Removed.
(core_environments_mark): Removed.
(core_environments_finalize): Removed.
(leaf_environment_mark): Removed.
(leaf_environment_free): Removed.
(leaf_environment_funcs): Don't refer to the above funcs.
(eval_environment_mark): Removed.
(eval_environment_free): Removed.
(eval_environment_funcs): Don't refer to the above funcs.
(import_environment_mark): Removed.
(import_environment_free): Removed.
(import_environment_funcs): Don't refer to the above funcs.
(export_environment_mark): Removed.
(export_environment_free): Removed.
(export_environment_funcs): Don't refer to the above funcs.
(scm_environments_prehistory): Don't invoke `scm_set_smob_mark' and
`scm_set_smob_free'.
* libguile/environments.h (scm_environment_funcs)[mark]: Removed.
[free]: Removed.
* libguile/eval.c (promise_mark): Removed.
(promise_free): Removed.
(scm_init_eval): Don't invoke `scm_set_smob_mark' and
`scm_set_smob_free'.
* libguile/fluids.c (fluid_free): Removed.
(scm_fluids_prehistory): Don't invoke `scm_set_smob_mark' and
`scm_set_smob_free'.
* libguile/futures.c (future_mark): Removed.
(scm_init_futures): Don't invoke `scm_set_smob_mark'.
* libguile/hashtab.c (hashtable_free): Removed.
(scm_hashtab_prehistory): Don't invoke `scm_set_smob_mark' and
`scm_set_smob_free'.
* libguile/hooks.c (scm_init_hooks): Don't invoke `scm_set_smob_mark'.
* libguile/keywords.c (scm_init_keywords): Don't invoke
`scm_set_smob_mark'.
* libguile/macros.c (scm_init_macros): Don't invoke `scm_set_smob_mark'.
* libguile/modules.c (scm_init_modules): Don't invoke
`scm_set_smob_mark'.
* libguile/print.c (scm_init_print): Don't invoke `scm_set_smob_mark'.
* libguile/random.c (scm_i_copy_rstate): Use `scm_gc_malloc' instead of
`scm_malloc'.
(scm_c_make_rstate): Likewise.
(rstate_free): Removed.
(scm_init_random): Don't invoke `scm_set_smob_free'.
* libguile/srcprop.c (srcprops_mark): Removed.
(scm_init_srcprop): Don't invoke `srcprops_mark'.
* libguile/srfi-14.c (charset_free): Removed.
(scm_init_srfi_14): Don't invoke `scm_set_smob_free'.
* libguile/srfi-4.c (uvec_mark): Removed.
(uvec_free): Removed.
(scm_init_srfi_4): Don't invoke `scm_set_smob_free' and
`scm_set_smob_mark'.
* libguile/threads.c (thread_mark): Removed.
(fat_mutex_mark): Removed.
(fat_cond_mark): Removed.
(scm_init_threads): Dont invoke `scm_set_smob_mark' and
`scm_set_smob_free'.
* libguile/unif.c (bitvector_free): Removed.
(array_mark): Removed.
(array_free): Removed.
(scm_init_unif): Don't invoke `scm_set_smob_free' and
`scm_set_smob_mark'.
git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-28
| Ludovic Courtes | 2008-09-05 | 1 | -9/+0 |
|/ |
|
* | merge from 1.8 branch | Kevin Ryde | 2006-04-17 | 1 | -1/+1 |
* | * throw.h (scm_c_catch, scm_c_with_throw_handler,...scm_catch_with_pre_unwind_handler, scm_with_throw_handler): New.
* throw.c (SCM_JBPREUNWIND, SCM_SETJBPREUNWIND): New.
(struct pre_unwind_data): New, replaces struct lazy_catch.
(scm_c_catch): New, replaces scm_internal_catch as the primary
catch API for C code; adds pre-unwind handler support.
(scm_internal_catch): Now just a wrapper for scm_c_catch, for back
compatibility.
(tc16_pre_unwind_data, pre_unwind_data_print,
make_pre_unwind_data, SCM_PRE_UNWIND_DATA_P): Renamed from
"lazy_catch" equivalents.
(scm_c_with_throw_handler): New, replaces scm_internal_lazy_catch
as the primary C API for a "lazy" catch.
(scm_internal_lazy_catch): Now just a wrapper for
scm_c_with_throw_handler, for back compatibility.
(scm_catch_with_pre_unwind_handler): Renamed from scm_catch; adds
pre-unwind handler support.
(scm_catch): Now just a wrapper for
scm_catch_with_pre_unwind_handler, for back compatibility.
(scm_with_throw_handler): New.
(scm_lazy_catch): Update comment to say that the handler can
return, and what happens if it does.
(toggle_pre_unwind_running): New.
(scm_ithrow): When identifying the throw target, take running
flags into account. In general, change naming of things from
"lazy_catch" to "pre_unwind". When throwing to a throw handler,
don't unwind the dynamic context first. Add dynwind framing to
manage the running flag of a throw handler. If a lazy catch or
throw handler returns, rethrow the same exception again. Add
pre-unwind support to the normal catch case (SCM_JMPBUFP).
* root.c (scm_internal_cwdr): Add NULL args to
scm_i_with_continuation_barrier call.
* dynwind.c: Change comment mentioning lazy-catch to mention
pre-unwind data and throw handler also.
* continuations.h (scm_i_with_continuation_barrier): Add
pre-unwind handler args.
* continuations.c (scm_i_with_continuation_barrier): Add
pre-unwind handler args, and pass on to scm_c_catch (changed from
scm_internal_catch).
(c_handler): Remove scm_handle_by_message_noexit call.
(scm_c_with_continuation_barrier): Call
scm_i_with_continuation_barrier with scm_handle_by_message_noexit
as the pre-unwind handler.
(scm_handler): Remove scm_handle_by_message_noexit call.
(s_scm_with_continuation_barrier): Call
scm_i_with_continuation_barrier with scm_handle_by_message_noexit
as the pre-unwind handler.
| Neil Jerram | 2006-02-04 | 1 | -1/+1 |
* | Renamed the "frames" that are related to dynamic-wind to "dynamic...contexts. Renamed all functions from scm_frame_ to scm_dynwind_.
Updated documentation.
| Marius Vollmer | 2006-01-29 | 1 | -17/+17 |
* | The FSF has a new address. | Marius Vollmer | 2005-05-23 | 1 | -1/+1 |
* | See ChangeLog from 2005-03-02. | Marius Vollmer | 2005-03-02 | 1 | -16/+24 |
* | *** empty log message *** | Marius Vollmer | 2004-09-22 | 1 | -3/+3 |
* | (scm_frame_free): New. | Marius Vollmer | 2004-08-10 | 1 | -0/+6 |
* | * tags.h, deprecated.h (SCM_EQ_P): Deprecated by moving it into...deprecated.h. Replaced all uses with scm_is_eq.
| Marius Vollmer | 2004-07-27 | 1 | -1/+1 |
* | (scm_i_dowinds): Removed unused code that would call the unexisting...scm_cross_dynwind_binding_scope for inums on the windlist.
| Marius Vollmer | 2004-07-23 | 1 | -50/+34 |
* | * deprecated.h, boolean.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,...SCM_NEGATE_BOOL, SCM_BOOLP): Deprecated by moving into "deprecated.h".
Replaced all uses with scm_is_false, scm_is_true, scm_from_bool, and
scm_is_bool, respectively.
| Marius Vollmer | 2004-07-06 | 1 | -1/+1 |
* | (winder_mark): Use SCM_PACK to correctly convert the WINDER_DATA to a...SCM.
| Marius Vollmer | 2004-05-24 | 1 | -1/+1 |
* | Use SCM_SMOB_* instead of SCM_CELL_* as appropriate. Use...SCM_SMOB_FLAGS and SCM_SET_SMOB_FLAGS instead of accessing the
zeroth word directly. Use SCM_SMOB_PREDICATE as appropriate.
| Marius Vollmer | 2004-05-06 | 1 | -21/+22 |
* | (scm_frame_unwind, scm_frame_unwind_handler): Renamed and changed all...uses. (scm_frame_rewind, scm_frame_rewind_handler): Likewise.
| Marius Vollmer | 2004-01-11 | 1 | -10/+10 |
* | * dynwind.h, dynwind.c (scm_i_dowinds): Removed 'explicit'...argument since it is always zero now. Changed all callers.
Removed code for handling fluids.
| Marius Vollmer | 2004-01-07 | 1 | -20/+9 |
* | * dynwind.c (scm_i_dowinds): Removed code for handling fluids. | Marius Vollmer | 2004-01-07 | 1 | -8/+1 |
* | * dynwind.c (scm_frame_end): Do not use scm_i_dowinds. Instead, do...the unwinding directly. It is simple enough.
* dynwind.h, dynwind.c: Did the following renamings:
scm_begin_frame -> scm_frame_begin,
scm_end_frame -> scm_frame_end,
scm_on_unwind -> scm_frame_unwind,
scm_on_rewind -> scm_frame_rewind,
scm_on_unwind_with_scm -> scm_frame_unwind_with_scm,
scm_on_rewind_with_scm -> scm_frame_rewind_with_scm.
Changed all uses.
| Marius Vollmer | 2004-01-07 | 1 | -26/+26 |
* | (frame_print): Removed, use the default printer. (WINDER_F_MARK,...WINDER_MARK_P, winder_mark): New. (scm_on_unwind_with_scm,
scm_on_rewind_with_scm): New. Use above to protect SCM values.
| Marius Vollmer | 2004-01-06 | 1 | -14/+41 |
* | (scm_t_frame_flags, scm_t_wind_flags,...scm_begin_frame, scm_end_frame, scm_on_unwind, scm_on_rewind):
New.
(scm_dowinds, scm_i_dowinds): scm_dowinds has been renamed to
scm_i_dowinds and extended to handle frames and to invoke a 'turn'
function when the outermost wind point has been reached. The
latter is used to copy a continuation stack at the right time.
scm_dowinds remains available.
(SCM_GUARDSP, SCM_BEFORE_GUARD, SCM_AFTER_GUARD, SCM_GUARD_DATA,
tc16_guard, guards_print): Removed.
(scm_internal_dynamic_wind): Reimplemented using frames.
| Marius Vollmer | 2004-01-03 | 1 | -61/+168 |
* | Changed license terms to the plain LGPL thru-out. | Marius Vollmer | 2003-04-05 | 1 | -36/+12 |
* | Retire inclusion guard macro SCM_MAGIC_SNARFER. | Thien-Thi Nguyen | 2002-03-14 | 1 | -2/+0 |
* | * Documentation work. | Neil Jerram | 2001-11-11 | 1 | -2/+2 |
* | * eval.c (scm_m_atbind): Redesigned to behvae like `let', but with...dynamic scope.
* dynwind.h (scm_swap_bindings): Declare.
* dynwind.c (scm_swap_bindings): Make non-static.
| Marius Vollmer | 2001-08-25 | 1 | -1/+1 |
* | * tags.h: Update tag system docs....(scm_tc3_cons_gloc): Renamed to scm_tc3_struct. Changed all uses.
(scm_tcs_cons_gloc): Renamed to scm_tcs_struct. Changed all uses.
(SCM_ECONSP, SCM_NECONSP): Removed. Changed all uses to SCM_CONSP
or SCM_NCONSP, respectively.
* struct.c, struct.h, srcprop.c, procs.c, procprop.c, print.c,
objects.c. modules.c, goops.c, eval.c, debug.c: Changed all uses
of scm_tc3_cond_gloc and scm_tcs_cons_gloc. See above.
* print.c (scm_iprin1): Remove printing of glocs. Do not try to
tell glocs from structs.
* gc.c (scm_gc_mark, scm_gc_sweep): Remove handling of glocs.
* eval.c (scm_m_atbind): Make a list of variables, not glocs.
(scm_ceval, scm_deval): For SCM_IM_BIND, fiddle with variables
instead of with glocs.
(EVALCAR): Do not test for glocs.
(scm_lookupcar, scm_lookupcar1): Do not handle glocs in race
condition.
(scm_unmemocar): Do not handle glocs.
(scm_m_atfop): Memoize as a variable, not as a gloc.
(scm_eval_args, scm_deval_args): Do not handle glocs.
(scm_ceval, scm_deval): Likewise.
* eval.h (SCM_XEVALCAR): Do not test for glocs.
(SCM_GLOC_VAR, SCM_GLOC_VAL, SCM_GLOC_SET_VAL, SCM_GLOC_VAL_LOC):
Removed.
* debug.h, debug.c (scm_make_gloc, scm_gloc_p): Removed.
* dynwind.c (scm_swap_bindings): Likewise.
(scm_dowinds): Updated to recognize lists of variables instead of
lists of glocs.
* __scm.h (SCM_CAUTIOS, SCM_RECKLESS): Update comments.
| Marius Vollmer | 2001-07-26 | 1 | -13/+19 |
* | Remove "face-lift" comment. | Thien-Thi Nguyen | 2001-07-09 | 1 | -2/+0 |
* | * eval.c (scm_call_0, scm_call_1, scm_call_2, scm_call_3,... scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): New functions.
| Keisuke Nishida | 2001-06-26 | 1 | -5/+5 |
* | replace "scm_*_t" with "scm_t_*". | Marius Vollmer | 2001-06-14 | 1 | -8/+8 |
* | * Introduce SCM_UNUSED and mark unused function parameters....* Introduce SCM_DEBUG_PAIR_ACCESSES.
* Extend the possibilities of SCM_DEBUG_CELL_ACCESSES.
| Dirk Herrmann | 2001-06-07 | 1 | -2/+2 |
* | revert the ill-considered part of the 2001-05-24 changes | Michael Livshin | 2001-05-26 | 1 | -1/+1 |
* | * validate.h...(SCM_NUM2{SIZE,PTRDIFF,SHORT,USHORT,BITS,UBITS,INT,UINT}[_DEF]):
new macros.
* unif.h: type renaming:
scm_array -> scm_array_t
scm_array_dim -> scm_array_dim_t
the old names are deprecated, all in-Guile uses changed.
* tags.h (scm_ubits_t): new typedef, representing unsigned
scm_bits_t.
* stacks.h: type renaming:
scm_info_frame -> scm_info_frame_t
scm_stack -> scm_stack_t
the old names are deprecated, all in-Guile uses changed.
* srcprop.h: type renaming:
scm_srcprops -> scm_srcprops_t
scm_srcprops_chunk -> scm_srcprops_chunk_t
the old names are deprecated, all in-Guile uses changed.
* gsubr.c, procs.c, print.c, ports.c, read.c, rdelim.c, ramap.c,
rw.c, smob.c, sort.c, srcprop.c, stacks.c, strings.c, strop.c,
strorder.c, strports.c, struct.c, symbols.c, unif.c, values.c,
vectors.c, vports.c, weaks.c:
various int/size_t -> size_t/scm_bits_t changes.
* random.h: type renaming:
scm_rstate -> scm_rstate_t
scm_rng -> scm_rng_t
scm_i_rstate -> scm_i_rstate_t
the old names are deprecated, all in-Guile uses changed.
* procs.h: type renaming:
scm_subr_entry -> scm_subr_entry_t
the old name is deprecated, all in-Guile uses changed.
* options.h (scm_option_t.val): unsigned long -> scm_bits_t.
type renaming:
scm_option -> scm_option_t
the old name is deprecated, all in-Guile uses changed.
* objects.c: various long -> scm_bits_t changes.
(scm_i_make_class_object): flags: unsigned long -> scm_ubits_t
* numbers.h (SCM_FIXNUM_BIT): deprecated, renamed to
SCM_I_FIXNUM_BIT.
* num2integral.i.c: new file, multiply included by numbers.c, used
to "templatize" the various integral <-> num conversion routines.
* numbers.c (scm_mkbig, scm_big2num, scm_adjbig, scm_normbig,
scm_copybig, scm_2ulong2big, scm_dbl2big, scm_big2dbl):
deprecated.
(scm_i_mkbig, scm_i_big2inum, scm_i_adjbig, scm_i_normbig,
scm_i_copybig, scm_i_short2big, scm_i_ushort2big, scm_i_int2big,
scm_i_uint2big, scm_i_long2big, scm_i_ulong2big, scm_i_bits2big,
scm_i_ubits2big, scm_i_size2big, scm_i_ptrdiff2big,
scm_i_long_long2big, scm_i_ulong_long2big, scm_i_dbl2big,
scm_i_big2dbl, scm_short2num, scm_ushort2num, scm_int2num,
scm_uint2num, scm_bits2num, scm_ubits2num, scm_size2num,
scm_ptrdiff2num, scm_num2short, scm_num2ushort, scm_num2int,
scm_num2uint, scm_num2bits, scm_num2ubits, scm_num2ptrdiff,
scm_num2size): new functions.
* modules.c (scm_module_reverse_lookup): i, n: int -> scm_bits_t.x
* load.c: change int -> size_t in various places (where the
variable is used to store a string length).
(search-path): call scm_done_free, not scm_done_malloc.
* list.c (scm_ilength): return a scm_bits_t, not long.
some other {int,long} -> scm_bits_t changes.
* hashtab.c: various [u]int -> scm_bits_t changes.
scm_ihashx_closure -> scm_ihashx_closure_t (and made a typedef).
(scm_ihashx): n: uint -> scm_bits_t
use scm_bits2num instead of scm_ulong2num.
* gsubr.c: various int -> scm_bits_t changes.
* gh_data.c (gh_scm2double): no loss of precision any more.
* gh.h (gh_str2scm): len: int -> size_t
(gh_{get,set}_substr): start: int -> scm_bits_t,
len: int -> size_t
(gh_<num>2scm): n: int -> scm_bits_t
(gh_*vector_length): return scm_[u]size_t, not unsigned long.
(gh_length): return scm_bits_t, not unsigned long.
* fports.h: type renaming:
scm_fport -> scm_fport_t
the old name is deprecated, all in-Guile uses changed.
* fports.c (fport_fill_input): count: int -> scm_bits_t
(fport_flush): init_size, remaining, count: int -> scm_bits_t
* debug.h (scm_lookup_cstr, scm_lookup_soft, scm_evstr): removed
those prototypes, as the functions they prototype don't exist.
* fports.c (default_buffer_size): int -> size_t
(scm_fport_buffer_add): read_size, write_size: int -> scm_bits_t
default_size: int -> size_t
(scm_setvbuf): csize: int -> scm_bits_t
* fluids.c (n_fluids): int -> scm_bits_t
(grow_fluids): old_length, i: int -> scm_bits_t
(next_fluid_num, scm_fluid_ref, scm_fluid_set_x): n: int ->
scm_bits_t
(scm_c_with_fluids): flen, vlen: int -> scm_bits_t
* filesys.c (s_scm_open_fdes): changed calls to SCM_NUM2LONG to
the new and shiny SCM_NUM2INT.
* extensions.c: extension -> extension_t (and made a typedef).
* eval.h (SCM_IFRAME): cast to scm_bits_t, not int. just so
there are no nasty surprises if/when the various deeply magic tag
bits move somewhere else.
* eval.c: changed the locals used to store results of SCM_IFRAME,
scm_ilength and such to be of type scm_bits_t (and not int/long).
(iqq): depth, edepth: int -> scm_bits_t
(scm_eval_stack): int -> scm_bits_t
(SCM_CEVAL): various vars are not scm_bits_t instead of int.
(check_map_args, scm_map, scm_for_each): len: long -> scm_bits_t
i: int -> scm_bits_t
* environments.c: changed the many calls to scm_ulong2num to
scm_ubits2num.
(import_environment_fold): proc_as_ul: ulong -> scm_ubits_t
* dynwind.c (scm_dowinds): delta: long -> scm_bits_t
* debug.h: type renaming:
scm_debug_info -> scm_debug_info_t
scm_debug_frame -> scm_debug_frame_t
the old names are deprecated, all in-Guile uses changed.
(scm_debug_eframe_size): int -> scm_bits_t
* debug.c (scm_init_debug): use scm_c_define instead of the
deprecated scm_define.
* continuations.h: type renaming:
scm_contregs -> scm_contregs_t
the old name is deprecated, all in-Guile uses changed.
(scm_contregs_t.num_stack_items): size_t -> scm_bits_t
(scm_contregs_t.num_stack_items): ulong -> scm_ubits_t
* continuations.c (scm_make_continuation): change the type of
stack_size form long to scm_bits_t.
* ports.h: type renaming:
scm_port_rw_active -> scm_port_rw_active_t (and made a typedef)
scm_port -> scm_port_t
scm_ptob_descriptor -> scm_ptob_descriptor_t
the old names are deprecated, all in-Guile uses changed.
(scm_port_t.entry): int -> scm_bits_t.
(scm_port_t.line_number): int -> long.
(scm_port_t.putback_buf_size): int -> size_t.
* __scm.h (long_long, ulong_long): deprecated (they pollute the
global namespace and have little value besides that).
(SCM_BITS_LENGTH): new, is the bit size of scm_bits_t (i.e. of an
SCM handle).
(ifdef spaghetti): include sys/types.h and sys/stdtypes.h, if they
exist (for size_t & ptrdiff_t)
(scm_sizet): deprecated.
* Makefile.am (noinst_HEADERS): add num2integral.i.c
| Michael Livshin | 2001-05-24 | 1 | -2/+2 |
* | Merge from mvo-vcell-cleanup-1-branch. | Marius Vollmer | 2001-05-15 | 1 | -2/+1 |
* | Correct, update, improve and clean up a lot of docstrings in order to make...the documentation much more consistent.
| Martin Grabmüller | 2001-04-03 | 1 | -24/+30 |
* | Remove #include <stdio.h>. Add #include <string.h>. | Keisuke Nishida | 2001-03-09 | 1 | -1/+0 |
* | (scm_dynamic_wind): Removed unnecessary "" from docstrings....(scm_wind_chain): Added docstring.
| Martin Grabmüller | 2001-02-16 | 1 | -3/+4 |
* | Smob-related creanup. | Keisuke Nishida | 2000-12-08 | 1 | -5/+5 |