summaryrefslogtreecommitdiff
path: root/libguile/__scm.h
Commit message (Expand)AuthorAgeFilesLines
* Reimplement dynamic states...There are two goals: one, to use less memory per dynamic state in order to allow millions of dynamic states to be allocated in light-weight threading scenarios. The second goal is to prevent dynamic states from being actively mutated in two threads at once. This second goal does mean that dynamic states object that escape into scheme are now copies that won't receive further updates; an incompatible change, but one which we hope doesn't affect anyone. * libguile/cache-internal.h: New file. * libguile/fluids.c (is_dynamic_state, get_dynamic_state) (save_dynamic_state, restore_dynamic_state, add_entry) (copy_value_table): New functions. (scm_i_fluid_print, scm_i_dynamic_state_print): Move up. (new_fluid): No need for a number. (scm_fluid_p: scm_is_fluid): Inline IS_FLUID uses. (fluid_set_x, fluid_ref): Adapt to dynamic state changes. (scm_fluid_set_x, scm_fluid_unset_x): Call fluid_set_x. (scm_swap_fluid): Rewrite in terms of fluid_ref and fluid_set. (swap_fluid): Use internal fluid_set_x. (scm_i_make_initial_dynamic_state): Adapt to dynamic state representation change. (scm_dynamic_state_p, scm_is_dynamic_state): Use new accessors. (scm_current_dynamic_state): Use make_dynamic_state. (scm_dynwind_current_dynamic_state): Use new accessor. * libguile/fluids.h: Remove internal definitions. Add new struct definition. * libguile/threads.h (scm_i_thread): Use scm_t_dynamic_state for dynamic state. * libguile/threads.c (guilify_self_1, guilify_self_2): (scm_i_init_thread_for_guile, scm_init_guile): (scm_call_with_new_thread): (scm_init_threads, scm_init_threads_default_dynamic_state): Adapt to scm_i_thread change. (scm_i_with_guile, with_guile): Remove "and parent" suffix. (scm_i_reset_fluid): Remove unneeded function. * doc/ref/api-scheduling.texi (Fluids and Dynamic States): Remove scm_make_dynamic_state docs. Update current-dynamic-state docs. * libguile/vm-engine.c (vm_engine): Update fluid-ref and fluid-set! inlined fast paths for dynamic state changes. * libguile/vm.c (vm_error_unbound_fluid): Remove now-unused function. * NEWS: Update. * module/ice-9/deprecated.scm (make-dynamic-state): New definition. * libguile/deprecated.h: * libguile/deprecated.c (scm_make_dynamic_state): Move here. * libguile/__scm.h (scm_t_dynamic_state): New typedef. * libguile/dynstack.h: * libguile/dynstack.c (scm_dynstack_push_fluid): (scm_dynstack_unwind_fluid): Take raw dynstate in these internal functions. * libguile/throw.c (catch): Adapt to dynstack changes. Andy Wingo2016-12-051-0/+4
* Remove SCM_DEBUG_CELL_ACCESSES==1...Since the move to BDW-GC this option has not been useful. * libguile/__scm.h (SCM_DEBUG_CELL_ACCESSES): Remove default definition. * libguile/gc.h: Add comment about cells. (SCM_VALIDATE_CELL): Remove. I did a search on the internet and I found no external users. (SCM_CELL_WORD, SCM_CELL_OBJECT, SCM_SET_CELL_WORD) (SCM_SET_CELL_OBJECT, SCM_CELL_OBJECT_LOC): Remove SCM_VALIDATE_CELL uses. * libguile/gc.c (scm_debug_cell_accesses_p) (scm_expensive_debug_cell_accesses_p) (scm_debug_cells_gc_interval, scm_i_expensive_validation_check) (scm_assert_cell_valid): Remove bindings only available when SCM_DEBUG_CELL_ACCESSES was 1. * libguile/list.c (scm_list_n): Remove SCM_VALIDATE_CELL usage. Andy Wingo2016-11-181-9/+0
* Use atomics for async interrupts...* libguile/__scm.h (SCM_TICK): Always define as scm_async_tick(). * libguile/error.c (scm_syserror, scm_syserror_msg): * libguile/fports.c (fport_read, fport_write): * libguile/_scm.h (SCM_SYSCALL): Replace SCM_ASYNC_TICK with scm_async_tick (). (SCM_ASYNC_TICK, SCM_ASYNC_TICK_WITH_CODE) (SCM_ASYNC_TICK_WITH_GUARD_CODE): Remove internal definitions. We inline into vm-engine.c, the only place where it matters. * libguile/async.h: * libguile/async.c (scm_async_tick, scm_i_setup_sleep): (scm_i_reset_sleep, scm_system_async_mark_for_thread): * libguile/threads.h (struct scm_thread_wake_data): * libguile/threads.h (scm_i_thread): * libguile/threads.c (block_self, guilify_self_1, scm_std_select): Rewrite to use sequentially-consistent atomic references. * libguile/atomics-internal.h (scm_atomic_set_pointer): (scm_atomic_ref_pointer): New definitions. * libguile/finalizers.c (queue_finalizer_async): We can allocate, so just use scm_system_async_mark_for_thread instead of the set-cdr! shenanigans. * libguile/scmsigs.c (take_signal): * libguile/gc.c (queue_after_gc_hook): Adapt to new asyncs mechanism. Can't allocate but we're just manipulating the current thread when no other threads are running so we should be good. * libguile/vm-engine.c (VM_HANDLE_INTERRUPTS): Inline the async_tick business. Andy Wingo2016-10-261-4/+0
* Merge commit '750ac8c592e792e627444f476877f282525b132e'...Conflicts: .gitignore libguile/deprecated.c Andy Wingo2013-11-281-1/+1
|\
| * Don't use the identifier 'noreturn'....Fixes <http://bugs.gnu.org/15798>. Reported by Matt Sicker <boards@gmail.com>. * libguile/__scm.h (SCM_NORETURN): Use ((__noreturn__)) instead of ((noreturn)). * libguile/throw.h (scm_ithrow): Rename formal parameter from 'noreturn' to 'no_return'. * libguile/throw.c (scm_ithrow): Rename formal parameter from 'noreturn' to 'no_return'. Mark H Weaver2013-11-041-1/+1
* | Merge remote-tracking branch 'origin/stable-2.0'...Conflicts: configure.ac libguile/deprecated.c libguile/deprecated.h libguile/filesys.h libguile/fluids.c libguile/fports.c libguile/gc.c libguile/guile.c libguile/numbers.c libguile/objcodes.c libguile/r6rs-ports.c libguile/smob.c libguile/socket.c libguile/threads.h module/language/scheme/decompile-tree-il.scm module/language/tree-il/peval.scm test-suite/tests/syncase.test Mark H Weaver2013-03-281-1/+1
|\|
| * Make `SCM_LONG_BIT' usable in preprocessor conditionals....Reported by Jan Schukat <shookie@email.de>. Partly fixes <http://bugs.gnu.org/13848>. * libguile/__scm.h (SCM_LONG_BIT)[!defined LONG_BIT]: Use SCM_SIZEOF_LONG since `sizeof' cannot be used in #if directives as found in numbers.c. Ludovic Courtès2013-03-071-1/+1
* | Merge remote-tracking branch 'origin/stable-2.0'...There is a failing test due to a scm_from_utf8_stringn bug brought out by the iconv test that will be fixed in the next commit. Conflicts: libguile/deprecated.h module/ice-9/deprecated.scm Andy Wingo2013-01-151-1/+1
|\|
| * deprecate SCM_CHAR_CODE_LIMIT and char-code-limit...* libguile/__scm.h: * libguile/deprecated.h (SCM_CHAR_CODE_LIMIT): Move declaration here from __scm.h. * libguile/feature.c: * module/ice-9/deprecated.scm (char-code-limit): Move definition here. * test-suite/tests/regexp.test: Update to not use char-code-limit. Andy Wingo2013-01-101-7/+1
* | Merge remote-tracking branch 'origin/stable-2.0'...Conflicts: libguile/expand.c libguile/hashtab.c libguile/ports.c libguile/vectors.c libguile/weaks.c module/language/ecmascript/compile-tree-il.scm module/language/tree-il/effects.scm module/language/tree-il/fix-letrec.scm module/language/tree-il/peval.scm test-suite/tests/peval.test Andy Wingo2012-07-061-1/+2
|\|
| * Add alignment for Sun Studio 12Dagobert Michelsen2012-07-061-1/+2
| * simplify inline function infrastructure...* libguile/__scm.h (SCM_C_EXTERN_INLINE): Move this definition here, from inline.h. We'd like to support inline function definitions in more header files: not just inline.h. (SCM_CAN_INLINE, SCM_INLINE, SCM_INLINE_IMPLEMENTATION): New definitions. * libguile/gc.h (SCM_GC_MALLOC, SCM_GC_MALLOC_POINTERLESS): Define these wrappers, which redirect to the GC_MALLOC macros when building Guile, and the scm_gc_malloc functions otherwise. A step towards getting BDW-GC out of Guile's API. * libguile/inline.h: Simplify, using SCM_INLINE, SCM_INLINE_IMPLEMENTATION, and SCM_IMPLEMENT_INLINES. Also use the new SCM_GC_MALLOC macros. Andy Wingo2012-03-081-0/+58
* | Merge remote-tracking branch 'origin/stable-2.0'...Conflicts: libguile/__scm.h libguile/array-map.c libguile/procprop.c libguile/tags.h module/ice-9/deprecated.scm module/ice-9/psyntax-pp.scm module/ice-9/psyntax.scm test-suite/standalone/test-num2integral.c test-suite/tests/regexp.test Andy Wingo2012-01-101-1/+1
|\|
| * fix SCM_ASRTGO deprecation...* libguile/__scm.h (SCM_ASRTGO): Whoops, actually remove the ASRTGO definitions here. * libguile/deprecated.h: Fix type of scm_i_deprecated_asrtgo. Andy Wingo2012-01-081-5/+1
* | Revert "SCM is either a union or scm_t_bits"...This reverts commit 80125469ef95f6d8d46a26619fb2f85151f32719. Conflicts: libguile/__scm.h Andy Wingo2011-09-151-0/+25
* | simplify inline function infrastructure...* libguile/__scm.h (SCM_C_EXTERN_INLINE): Move this definition here, from inline.h. We'd like to support inline function definitions in more header files: not just inline.h. (SCM_CAN_INLINE, SCM_INLINE, SCM_INLINE_IMPLEMENTATION): New definitions. * libguile/gc.h (SCM_GC_MALLOC, SCM_GC_MALLOC_POINTERLESS): Define these wrappers, which redirect to the GC_MALLOC macros when building Guile, and the scm_gc_malloc functions otherwise. A step towards getting BDW-GC out of Guile's API. * libguile/inline.h: Simplify, using SCM_INLINE, SCM_INLINE_IMPLEMENTATION, and SCM_IMPLEMENT_INLINES. Also use the new SCM_GC_MALLOC macros. Andy Wingo2011-05-261-0/+58
* | remove SCM_EXIT_SUCCESS and SCM_EXIT_FAILURE definitions...* libguile/__scm.h: Remove unused SCM_EXIT_SUCCESS and SCM_EXIT_FAILURE definitions. Andy Wingo2011-05-151-21/+0
* | scm_wta_* procedures replace SCM_WTA_* macros...* libguile/__scm.h: Move all the SCM_WTA and SCM_GASSERT macros out of here. Also remove the scm_call_generic declarations. * libguile/deprecated.h (SCM_WTA_DISPATCH_0, SCM_WTA_DISPATCH_1): (SCM_WTA_DISPATCH_2, SCM_WTA_DISPATCH_N): Deprecate. See below for their replacements. (SCM_GASSERT0, SCM_GASSERT1, SCM_GASSERT2, SCM_GASSERTn): Deprecate these too. (SCM_WTA_DISPATCH_1_SUBR): Deprecate this strange thing. (scm_call_generic_0, scm_call_generic_1, scm_call_generic_2): (scm_call_generic_3, scm_apply_generic): Remove, indicating their replacements. * libguile/print.c (iprin1): * libguile/eq.c (scm_equal_p): Use scm_call_2 instead of scm_call_generic_2. * libguile/goops.h: * libguile/goops.c: Remove scm_{call,apply}_generic definitions. (scm_wta_dispatch_0, scm_wta_dispatch_1, scm_wta_dispatch_2): (scm_wta_dispatch_n): New procedures, replacing the SCM_WTA macros. * libguile/numbers.c (scm_lcm): * libguile/procs.c (scm_setter): Remove uses of SCM_GASSERT. * libguile/numbers.c (scm_lcm): * libguile/procs.c (scm_setter): * libguile/vectors.c: Use the procedural scm_wta routines instead of the SCM_WTA macros. Andy Wingo2011-05-151-61/+0
* | SCM_ASSERT to error.h...* libguile/error.h (SCM_ASSERT, SCM_ASSERT_TYPE): Move definition here. Remove SCM_RECKLESS case. * libguile/__scm.h: (From here.) Andy Wingo2011-05-151-17/+0
* | remove SCM_ASRTGO...* libguile/__scm.h (SCM_ASRTGO): Remove unused macro. Andy Wingo2011-05-151-4/+0
* | remove unused SCM_FENCE definition...* libguile/__scm.h (SCM_FENCE): Remove unused definition. Andy Wingo2011-05-151-23/+0
* | rename scm_async_click() to scm_async_tick(); privatize SCM_ASYNC_TICK...* libguile/_scm.h (SCM_ASYNC_TICK, SCM_ASYNC_TICK_WITH_CODE): Make these definitions private. Call the tick() function instead of click(). * libguile/__scm.h: * libguile/async.h (scm_async_tick): Move declaration here. Remove scm_async_click declaration. Tick is the new (and old!) click, you see. (SCM_CRITICAL_SECTION_END): Call tick() instead of click(). * libguile/async.c (scm_async_tick): Remove old definition, and rename scm_async_click to scm_async_tick. (decrease_block): Adapt to click() -> tick() name change. * libguile/deprecated.h (scm_async_click, SCM_ASYNC_TICK): Define some GONE macros. * libguile/threads.c (fat_mutex_unlock): Tick() instead of click(). Andy Wingo2011-05-151-32/+0
* | simplify SCM_TICK...* libguile/__scm.h (SCM_TICK): Define to simply scm_async_tick (or SCM_ASYNC_TICK when building Guile). Andy Wingo2011-05-151-4/+5
* | remove SCM_THREAD_SWITCHING_CODE...* libguile/deprecated.h (SCM_THREAD_SWITCHING_CODE): * libguile/threads.h: Remove SCM_THREAD_SWITCHING_CODE, adding in a deprecation note. * libguile/__scm.h (SCM_TICK): Remove SCM_THREAD_SWITCHING_CODE. Andy Wingo2011-05-151-1/+0
* | make SCM_I_SETJMP and SCM_I_LONGJMP private...* libguile/_scm.h (SCM_I_SETJMP, SCM_I_LONGJMP): Move to this private header. * libguile/__scm.h (scm_i_jmp_buf): Only define the scm_i_jmp_buf type in this public header. Andy Wingo2011-05-151-30/+9
* | move SCM_FLUSH_REGISTER_WINDOWS to continuations.c...* libguile/continuations.c: Move SCM_FLUSH_REGISTER_WINDOWS define here... * libguile/__scm.h: ...from here. Andy Wingo2011-05-151-11/+0
* | minor __scm.h cleanup...* libguile/__scm.h: Clean up setjmp/longjmp portability defines. Andy Wingo2011-05-151-28/+35
* | remove mention of cheap continuations...* libguile/__scm.h: Inline an #ifndef CHEAP_CONTINUATIONS block for VMS, as we always have full continuations. * libguile/feature.c (scm_init_feature): Don't bother defining the "full-continuation" feature. Andy Wingo2011-05-151-9/+5
* | remove SCM_I_LLONG and SCM_I_ULLONG limit defines...* test-suite/standalone/test-num2integral.c (test_long_long): (test_ulong_long): Replace SCM_I_LLONG and SCM_I_ULLONG defines with their counterparts from limits.h. * libguile/__scm.h: Remove SCM_I_LLONG and SCM_I_ULLONG limit defines. Andy Wingo2011-05-151-6/+0
* | remove SCM_I_SIZE limits defines...* libguile/__scm.h: Remove defines for SCM_I_SIZE_MAX, SCM_I_SSIZE_MIN, and SCM_I_SSIZE_MAX, as there is no longer a scm_t_size / scm_size_t type. * libguile/bytevectors.c (make_bytevector): Replace a use of SCM_I_SIZE_MAX with ((size_t) -1). Andy Wingo2011-05-151-4/+0
* | remove SCM_CHAR_CODE_LIMIT define...* libguile/__scm.h: Remove SCM_CHAR_CODE_LIMIT define. * libguile/feature.c (scm_init_feature): Remove char-code-limit define, which was sure to be 256: a bogus value. Andy Wingo2011-05-151-6/+0
* | remove more unused __scm.h options...* libguile/__scm.h: Remove unused SCM_DEBUG_MARKING_API, SCM_DEBUG_INTERRUPTS, and SCM_DEBUG_DEBUGGING_SUPPORT defines. Andy Wingo2011-05-151-31/+0
* | remove mention of GUILE_DEBUG_FREELIST...* libguile/__scm.h: Remove commented-out GUILE_DEBUG_FREELIST define. * libguile/gen-scmconfig.c: Remove mention of GUILE_DEBUG_FREELIST. Andy Wingo2011-05-151-9/+0
* | remove #define STACK_CHECKING from __scm.h....* libguile/__scm.h: Remove #define STACK_CHECKING and #undef NO_CEVAL_STACK_CHECKING. * libguile/debug.c (scm_debug_options) * libguile/init.c (scm_i_init_guile): * libguile/stackchk.c (scm_report_stack_overflow): * libguile/stackchk.h: Always enable stack checking. Andy Wingo2011-05-151-7/+0
* | remove SICP from __scm.h...* libguile/__scm.h: Remove #undef SICP. * libguile/feature.c (scm_init_feature): Never add the sicp feature. Andy Wingo2011-05-151-11/+0
* | remove ENGNOT from __scm.h...* libguile/__scm.h: Remove #undef ENGNOT. * libguile/numbers.c (idbl2str): Remove #ifdef ENGNOT sections. Andy Wingo2011-05-151-4/+0
* | SCM is either a union or scm_t_bits...* libguile/tags.h: Elide the SCM_DEBUG_TYPING_STRICTNESS==1 case. Instead just have a flag, SCM_USING_PREHISTORIC_COMPILER, which if set uses what was SCM_DEBUG_TYPING_STRICTNESS==0. * libguile/__scm.h: Remove SCM_DEBUG_TYPING_STRICTNESS block. Andy Wingo2011-05-151-25/+0
* | Bump default typing strictness to 2....* libguile/__scm.h (SCM_DEBUG_TYPING_STRICTNESS): Bump the default to 2. Andy Wingo2011-05-131-1/+1
|/
* avoid tls gets when handling interrupts in the vm...* libguile/__scm.h (SCM_ASYNC_TICK_WITH_CODE): Redefine to take a scm_i_thread* as well. OK to do because it's within a BUILDING_LIBGUILE block. * libguile/vm-engine.c (vm_engine): Cache the scm_i_thread* instead of the dynstate, so we can use the thread for ticks. * libguile/vm-engine.h (VM_HANDLE_INTERRUPTS): Tick with the scm_i_thread* local var, to avoid excessive tls calls. * libguile/vm-i-system.c: Fix dynstate users to use current_thread->dynamic_state. Andy Wingo2011-05-061-2/+2
* Add `scm_t_subr' typedef (fix bug #23681)....* libguile/__scm.h (scm_t_subr): New typedef. * libguile/deprecated.h (scm_make_gsubr, scm_make_gsubr_with_generic, scm_call_catching_errors): Use it. * libguile/gsubr.h (scm_c_make_gsubr, scm_c_define_gsubr, scm_c_define_gsubr_with_generic): Likewise. * libguile/smob.h (scm_smob_descriptor)[apply]: Likewise. (scm_set_smob_apply): Likewise. * libguile/snarf.h (SCM_FUNC_CAST_ARBITRARY_ARGS): Likewise. Ludovic Courtès2011-02-131-1/+15
* Add `SCM_GNUC_PREREQ'....* libguile/__scm.h (SCM_GNUC_PREREQ): New macro. Use it in this file in lieu of hand-written GCC version tests. Ludovic Courtès2010-11-191-4/+12
* remove SCM_HAVE_T_INT64, SCM_HAVE_T_UINT64...* libguile/__scm.h: * libguile/numbers.h: * libguile/random.c: * libguile/srfi-4.c: * libguile/srfi-4.h: * libguile/numbers.c: * test-suite/standalone/test-conversion.c: * libguile/gen-scmconfig.c: As we require 64-bit integers in configure.ac, remove conditional definition of 64-bit types. Andy Wingo2010-07-261-2/+0
* Use GCC's `malloc' attribute for malloc-like routines....* libguile/__scm.h (SCM_MALLOC): New macro. * libguile/gc.h (scm_malloc, scm_calloc, scm_strdup, scm_strndup, scm_gc_malloc_pointerless, scm_gc_calloc, scm_gc_malloc, scm_gc_strdup, scm_gc_strndup): Mark as `SCM_MALLOC'. Ludovic Courtès2010-05-281-1/+10
* less overhead for handling interrupts in the vm...* libguile/__scm.h (SCM_ASYNC_TICK): Add some branch prediction. (SCM_ASYNC_TICK_WITH_CODE): New helper for when BUILDING_LIBGUILE, runs code only if we're going to call async_click(). * libguile/vm-engine.h (VM_HANDLE_INTERRUPTS): New helper, uses SCM_ASYNC_TICK_WITH_CODE to only save regs if we'll handle an interrupt. * libguile/vm-i-system.c (call, goto/args, return): use VM_HANDLE_INTERRUPTS. Andy Wingo2009-12-111-6/+18
* Don't rely on `HAVE_' macros in public header "tags.h"....* configure.ac: Check for `intptr_t' and `uintptr_t'. Substitute `SCM_I_GSC_T_INTPTR' and `SCM_I_GSC_T_UINPTR'. * libguile/__scm.h (SCM_T_UINTPTR_MAX, SCM_T_INTPTR_MIN, SCM_T_INTPTR_MAX): New macros. * libguile/_scm.h (SIZEOF_SCM_T_BITS): New macro. * libguile/gen-scmconfig.c (main): Produce typedefs for `scm_t_intptr' and `scm_t_uintptr'. * libguile/gen-scmconfig.h.in (SCM_I_GSC_T_INTPTR, SCM_I_GSC_T_UINPTR): New macros. * libguile/tags.h: Don't check for `HAVE_INTTYPES_H' and `HAVE_STDINT_H'; don't include <inttypes.h> nor <stdint.h>. (scm_t_signed_bits, scm_t_bits): Define unconditionally as aliases for `scm_t_intptr' and `scm_t_uintptr', respectively. (SCM_T_SIGNED_BITS_MAX, SCM_T_SIGNED_BITS_MIN, SCM_T_BITS_MAX): Likewise. (SIZEOF_SCM_T_BITS): Remove. Ludovic Courtès2009-11-241-0/+4
* Remove unused, non-prefixed macros....* libguile/__scm.h (BIGNUMS, TICKS): Remove. Ludovic Courtès2009-11-241-13/+0
* Remove references to undefined macros....The intent is to allow compilation with `-Wundef', which in turn should make it easier to catch erroneous uses of nonexistent macros. * libguile/__scm.h: Don't assume `BUILDING_LIBGUILE' is defined. * libguile/conv-uinteger.i.c (SCM_TO_TYPE_PROTO): Remove unneeded CPP conditional on `TYPE_MIN == 0'. * libguile/fports.c: Check for the definition of `HAVE_CHSIZE' and `HAVE_FTRUNCATE', not for their value. * libguile/ports.c: Likewise. * libguile/numbers.c (guile_ieee_init): Likewise with `HAVE_DINFINITY' and `HAVE_DQNAN'. * test-suite/standalone/test-conversion.c (ieee_init): Likewise. * libguile/strings.c: Likewise with `SCM_STRING_LENGTH_HISTOGRAM'. * libguile/strings.h: Likewise. * libguile/tags.h: Likewise with `HAVE_INTTYPES_H' and `HAVE_STDINT_H'. * libguile/threads.c: Likewise with `HAVE_PTHREAD_GET_STACKADDR_NP'. * libguile/vm-engine.c (VM_NAME): Likewise with `VM_CHECK_IP'. * libguile/gen-scmconfig.c (main): Use "#ifdef HAVE_", not "#if HAVE_". * libguile/socket.c (scm_setsockopt): Likewise. Ludovic Courtès2009-11-171-2/+2
* Merge branch 'bdw-gc-static-alloc'...Conflicts: acinclude.m4 libguile/__scm.h libguile/bdw-gc.h libguile/eval.c Ludovic Courtès2009-11-011-0/+10
|\
| * Merge branch 'boehm-demers-weiser-gc' into bdw-gc-static-alloc...Conflicts: acinclude.m4 libguile/strings.c Ludovic Courtès2009-09-021-24/+39
| |\
| * \ Merge branch 'boehm-demers-weiser-gc' into bdw-gc-static-alloc...Conflicts: libguile/procs.h Ludovic Courtès2009-03-161-2/+0
| |\ \