| Commit message (Expand) | Author | Age | Files | Lines |
* | Deprecate dynamic roots...* libguile/root.h:
* libguile/root.c: Remove these files.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_internal_cwdr, scm_call_with_dynamic_root)
(scm_dynamic_root, scm_apply_with_dynamic_root): Deprecate.
Remove all root.h usage, which was vestigial.
* module/ice-9/serialize.scm: Use (current-thread) instead
of (dynamic-root).
| Andy Wingo | 2016-11-21 | 1 | -1/+0 |
* | Remove scm_puts_unlocked....* libguile/ports.h (scm_puts_unlocked): Remove.
* libguile/ports.c (scm_puts): Replace implementation with
scm_puts_unlocked's implementation.
* libguile/arbiters.c:
* libguile/backtrace.c:
* libguile/bitvectors.c:
* libguile/continuations.c:
* libguile/deprecation.c:
* libguile/dynl.c:
* libguile/eval.c:
* libguile/filesys.c:
* libguile/fluids.c:
* libguile/foreign.c:
* libguile/fports.c:
* libguile/frames.c:
* libguile/guardians.c:
* libguile/hashtab.c:
* libguile/hooks.c:
* libguile/load.c:
* libguile/macros.c:
* libguile/mallocs.c:
* libguile/print.c:
* libguile/programs.c:
* libguile/promises.c:
* libguile/smob.c:
* libguile/srcprop.c:
* libguile/srfi-14.c:
* libguile/stackchk.c:
* libguile/struct.c:
* libguile/threads.c:
* libguile/throw.c:
* libguile/values.c:
* libguile/variable.c:
* libguile/vm.c:
* libguile/weak-set.c:
* libguile/weak-table.c: Use scm_puts instead of scm_puts_unlocked.
| Andy Wingo | 2016-04-26 | 1 | -2/+2 |
* | Remove scm_putc_unlocked....* libguile/ports.h (scm_putc_unlocked): Remove.
* libguile/ports.c (scm_putc): Replace implementation with
scm_putc_unlocked's implementation.
(scm_port_print): Use scm_putc.
* libguile/arbiters.c:
* libguile/arrays.c:
* libguile/bitvectors.c:
* libguile/bytevectors.c:
* libguile/continuations.c:
* libguile/dynl.c:
* libguile/eval.c:
* libguile/filesys.c:
* libguile/fluids.c:
* libguile/foreign.c:
* libguile/fports.c:
* libguile/frames.c:
* libguile/hashtab.c:
* libguile/hooks.c:
* libguile/macros.c:
* libguile/mallocs.c:
* libguile/print.c:
* libguile/programs.c:
* libguile/promises.c:
* libguile/r6rs-ports.c:
* libguile/smob.c:
* libguile/srcprop.c:
* libguile/struct.c:
* libguile/variable.c:
* libguile/weak-set.c:
* libguile/weak-table.c: Use scm_putc instead of scm_putc_unlocked.
| Andy Wingo | 2016-04-26 | 1 | -1/+1 |
* | Fix --without-threads and SCM_DEBUG_TYPING_STRICTNESS==2 builds....* libguile/hashtab.c (scm_hashv_ref, scm_hashv_set_x,
scm_hashv_remove_x, scm_hash_ref, scm_hash_set_x, scm_hash_remove_x):
* libguile/strports.c (scm_mkstrport):
* libguile/weak-vector.c (weak_vector_ref): Add missing SCM_UNPACK.
* libguile/ports.c (lock_port, unlock_port): Cast MUTEX to the
expected type.
| Mark H Weaver | 2013-08-08 | 1 | -7/+9 |
* | Merge remote-tracking branch 'origin/stable-2.0'...Conflicts:
libguile/array-handle.c
libguile/deprecated.h
libguile/inline.c
libguile/inline.h
module/ice-9/deprecated.scm
module/language/tree-il/peval.scm
| Andy Wingo | 2013-02-18 | 1 | -0/+28 |
|\ |
|
| * | add hash-count for native tables...* libguile/hashtab.c (scm_hash_count): New function. Count the number
of elements in a hash table.
* doc/ref/api-compound.texi (Hash Tables): Update examples and
reference.
* test-suite/tests/hash.test (hash-count): New test.
| Daniel Hartwig | 2013-02-18 | 1 | -0/+28 |
| * | Use `void *' instead of `GC_PTR' internally....* libguile/finalizers.c, libguile/foreign.c, libguile/guardians.c,
libguile/hashtab.c, libguile/numbers.c, libguile/ports.c,
libguile/smob.c, libguile/struct.c, libguile/vectors.c,
libguile/weaks.c: Use `void *' instead of `GC_PTR'.
| Ludovic Courtès | 2012-07-02 | 1 | -3/+3 |
* | | hash-set! on weak tables returns the value...* libguile/weak-table.h:
* libguile/weak-table.c (scm_weak_table_putq_x)
(scm_weak_table_remq_x, scm_weak_table_clear_x)
(scm_weak_table_for_each): Declare these as returning void instead of
SCM.
* libguile/hashtab.c (scm_hashq_set_x, scm_hashq_remove_x)
(scm_hashv_set_x, scm_hashv_remove_x)
(scm_hash_set_x, scm_hash_remove_x)
(scm_hashx_set_x, scm_hashx_remove_x):
(scm_hash_for_each): For weak tables, have the set! functions return
the values, as they used to do. Have remove! functions return #f,
indicating the lack of a handle. Shim around for-each to return
unspecified, even though that wasn't yet a problem.
* test-suite/tests/weaks.test: Add a test.
| Andy Wingo | 2012-03-02 | 1 | -10/+29 |
* | | Merge remote-tracking branch 'origin/stable-2.0'...Conflicts:
GUILE-VERSION
libguile/gc-malloc.c
libguile/ports.c
| Andy Wingo | 2012-02-08 | 1 | -5/+5 |
|\| |
|
| * | Improve the usage of variable names in C docstrings....* libguile/alist.c:
* libguile/array-map.c:
* libguile/arrays.c:
* libguile/bitvectors.c:
* libguile/filesys.c:
* libguile/foreign.c:
* libguile/generalized-arrays.c:
* libguile/hashtab.c:
* libguile/ioext.c:
* libguile/load.c:
* libguile/numbers.c:
* libguile/ports.c:
* libguile/posix.c:
* libguile/print.c:
* libguile/procprop.c:
* libguile/promises.c:
* libguile/simpos.c:
* libguile/socket.c:
* libguile/srfi-1.c:
* libguile/srfi-13.c:
* libguile/srfi-14.c:
* libguile/stacks.c:
* libguile/stime.c:
* libguile/strings.c:
* libguile/struct.c:
* libguile/symbols.c:
* libguile/threads.c:
* libguile/weak-table.c:
* libguile/weak-vector.c: Make the variable names in the C docstrings more
consistent. Replace a few instances of @var with @code when appropriate.
| Bake Timmons | 2012-02-02 | 1 | -5/+5 |
* | | Merge commit '3d51e57cfb0404db568a6adfde2a346d3fd9907e'...Conflicts:
libguile/foreign.c
libguile/hashtab.c
module/ice-9/psyntax-pp.scm
module/language/tree-il/compile-glil.scm
| Andy Wingo | 2012-01-30 | 1 | -2/+5 |
|\| |
|
| * | Adjust tests that relied on the output of the hash table printer....* libguile/hashtab.c (scm_i_hashtable_print): Use `SCM_UNPACK', not
`SCM2PTR'.
* test-suite/tests/hash.test: Adjust tests that rely on the output of
the printer to just check for the suffix of the hash table's external
representation.
| Ludovic Courtès | 2012-01-23 | 1 | -1/+1 |
| * | Print the address of hash tables....* libguile/hashtab.c (scm_i_hashtable_print): Print the address of EXP.
| Ludovic Courtès | 2012-01-23 | 1 | -2/+5 |
* | | locking for putc, puts...* libguile/ports.c (scm_putc, scm_puts):
* libguile/ports.h (scm_putc_unlocked, scm_puts_unlocked): Separate into
_unlocked and locked variants. Change all callers to use the
_unlocked versions.
| Andy Wingo | 2011-11-08 | 1 | -3/+3 |
* | | add SCM_{PACK,UNPACK}_POINTER...* libguile/tags.h (SCM_UNPACK_POINTER, SCM_PACK_POINTER): New macros.
The old SCM2PTR and PTR2SCM were defined in such a way that
round-tripping through a pointer could lose precision, even in the
case in which you weren't interested in actually dereferencing the
pointer, it was simply that you needed to plumb a SCM through APIs
that take pointers. These new macros are more like SCM_PACK and
SCM_UNPACK, but for pointer types. The bit representation of the
pointer should be the same as the scm_t_bits representation.
* libguile/gc.h (PTR2SCM, SCM2PTR): Remove support for (old) UNICOS
pointers. We are going to try tagging the SCM object itself in the
future, and I don't think that keeping this support is worth its
cost. It probably doesn't work anyway.
* libguile/backtrace.c:
* libguile/bytevectors.c:
* libguile/continuations.c:
* libguile/fluids.c:
* libguile/foreign.c:
* libguile/gc.h:
* libguile/guardians.c:
* libguile/hashtab.c:
* libguile/load.c:
* libguile/numbers.c:
* libguile/ports.c:
* libguile/smob.c:
* libguile/strings.c:
* libguile/symbols.c:
* libguile/vm.c:
* libguile/weak-set.c:
* libguile/weak-table.c:
* libguile/weak-vector.c: Update many sites to use the new macros.
| Andy Wingo | 2011-10-24 | 1 | -2/+2 |
* | | reimplement hashtab.c's weak hash tables in terms of weak-table.c...* libguile/hashtab.c:
* libguile/hashtab.h: Reimplement the weak hash table implementation in
terms of weak tables. All is well except for the horrific hack for
hashx tables.
* libguile/weak-table.h:
* libguile/weak-table.c (scm_make_weak_key_hash_table)
(scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table)
(scm_weak_key_hash_table_p, scm_weak_value_hash_table_p)
(scm_doubly_weak_hash_table_p): Move these definitions here.
| Andy Wingo | 2011-10-24 | 1 | -566/+138 |
|/ |
|
* | fix read beyond end of hashtable size array in hashtab.c...* libguile/hashtab.c (make_hash_table): Fix read beyond end of
hashtable_size array. Thanks to
http://article.gmane.org/gmane.lisp.guile.devel/12685.
| Andy Wingo | 2011-07-28 | 1 | -1/+1 |
* | fix hash-set! on weak tables...* test-suite/tests/weaks.test: Add tests.
* libguile/hashtab.c (scm_hash_fn_set_x): Fix updates to weak-value hash
tables to not deadlock inside the alloc lock.
| Andy Wingo | 2011-06-16 | 1 | -23/+30 |
* | fix subtle and bad scm_internal_hash_fold bug for weak tables...* libguile/hashtab.c (scm_internal_hash_fold): Don't try to unlink
deleted weak pairs. Our previous code was buggy (`prev' should have
only been updated in the case of a successful traversal), but more
than that, we're not in the alloc lock.
Thanks very much to Michael Wells for the report, and the debugging!
| Andy Wingo | 2011-05-30 | 1 | -30/+10 |
* | weak_bucket_assoc tweak...* libguile/hashtab.c (weak_bucket_assoc): Change assertion to be a check
and abort, and so that only calls GC_is_visible if the check fails.
| Andy Wingo | 2011-05-13 | 1 | -2/+4 |
* | correct use of SCM2PTR in SCM_I_REGISTER_DISAPPEARING_LINK forms...* libguile/hashtab.c (set_weak_cdr):
* libguile/vectors.c (scm_c_vector_set_x):
* libguile/weaks.c (scm_weak_car_pair, scm_weak_cdr_pair):
(scm_doubly_weak_pair): Use SCM2PTR for the target of
SCM_I_REGISTER_DISAPPEARING_LINK calls.
| Andy Wingo | 2011-05-13 | 1 | -3/+3 |
* | scm_is_false instead of == SCM_BOOL_F; also is_null, is_true, etc...* libguile/deprecation.c (scm_issue_deprecation_warning)
* libguile/eval.c (CAPTURE_ENV):
* libguile/goops.c (make_dispatch_procedure, make_class_from_symbol):
(create_smob_classes):
* libguile/guardians.c (finalize_guarded, scm_i_get_one_zombie):
* libguile/hashtab.c (scm_fixup_weak_alist, scm_internal_hash_fold):
* libguile/i18n.c (scm_nl_langinfo)
* libguile/load.c (scm_primitive_load)
* libguile/posix.c (scm_setrlimit)
* libguile/socket.c (scm_to_sockaddr):
* libguile/srcprop.c (scm_make_srcprops): Use scm_is_false / scm_is_true
/ scm_is_null instead of comparing against SCM_BOOL_F et al.
| Andy Wingo | 2011-05-13 | 1 | -2/+2 |
* | disallow get-handle / create-handle! of weak hash tables...* libguile/hashtab.c (scm_hashq_get_handle, scm_hashq_create_handle_x)
(scm_hashv_get_handle, scm_hashv_create_handle_x)
(scm_hash_get_handle, scm_hash_create_handle_x)
(scm_hashx_get_handle, scm_hashx_create_handle_x): Don't allow these
functions to be called on weak hash tables, as we have no idea when
the GC will null out fields of the handle, and set-cdr! won't register
disappearing links, and set-car! would never work of course.
| Andy Wingo | 2011-05-01 | 1 | -0/+29 |
* | fix hash-set! in weak-value table from non-immediate to immediate...* libguile/hashtab.c (set_weak_cdr, scm_hash_fn_set_x): If we have a
weak-value hash table with a previous non-immediate value for a given
key, and we are setting an immediate as the new value, we were not
unregistering the disappearing link. Fixed.
| Andy Wingo | 2011-05-01 | 1 | -7/+42 |
* | pre-GC_set_start_callback compatibility...* configure.ac: Add a check for GC_set_start_callback.
* libguile/gc.c (scm_i_gc): If we don't have GC_set_start_callback, run
the before-gc hook manually here.
(scm_init_gc): Otherwise set it as a start callback.
* libguile/hashtab.c (weak_gc_callback, weak_gc_hook)
(weak_gc_finalizer, scm_c_register_weak_gc_callback): Fix to work
either way, with or without GC_set_start_callback.
| Andy Wingo | 2011-04-15 | 1 | -8/+31 |
* | weak hash table vacuum on before-gc C hook...* libguile/hashtab.c (weak_gc_callback)
(scm_c_register_weak_gc_callback): Change implementation to use the
before-gc C hook instead of the after-gc finalizers.
| Andy Wingo | 2011-04-15 | 1 | -14/+13 |
* | make-weak-key-hash-table vacuuming...* libguile/hashtab.c (scm_make_weak_key_hash_table): Whoops, fix the
case I actually cared about.
| Andy Wingo | 2011-02-25 | 1 | -3/+9 |
* | weak hash tables vacuum stale entries after a gc...* libguile/hashtab.c (scm_c_register_weak_gc_callback): New private
helper, arranges for a C function to be called with a SCM as an
argument, as long as the argument is reachable by GC.
(scm_make_weak_key_hash_table)
(scm_make_weak_value_hash_table)
(scm_make_doubly_weak_hash_table): Register a weak GC callback to
vacuum_weak_hash_table.
| Andy Wingo | 2011-02-24 | 1 | -21/+49 |
* | GC dead links in weak hash tables before a possible rehash...* libguile/hashtab.c (vacuum_weak_hash_table): New helper, goes through
the entirety of a weak hash table, vacuuming dead entries.
(scm_hash_fn_create_handle_x): If when adding to a weak hash table, we
would trigger a rehash, vacuum the table first. The weak_bucket_assoc
would have only caught dead entries within one bucket.
Without this patch, the following code leaks:
(let lp ()
(call-with-output-string
(lambda (port)
(display "foo" port)))
(lp))
| Andy Wingo | 2011-02-23 | 1 | -5/+29 |
* | fix tab completion in repl (doh)...* libguile/hashtab.c: Fix remaining vector hash table support.
* module/ice-9/session.scm (apropos-fold): Use a hash table instead of a
vector for the completions.
| Andy Wingo | 2011-01-07 | 1 | -25/+19 |
* | add scm_hash_fn_get_handle_by_hash...* libguile/hashtab.h:
* libguile/hashtab.c (scm_hash_fn_get_handle_by_hash): New internal
procedure, which should make symbol table lookup faster.
| Andy Wingo | 2011-01-07 | 1 | -0/+89 |
* | remove vector hash table code...* libguile/hashtab.c: Remove deprecated hash-tables-as-vectors support
code.
| Andy Wingo | 2011-01-07 | 1 | -70/+38 |
* | hashtab cleanups...* libguile/hashtab.c: Update comments.
(hashtable_size): Allow bigger vectors on 64-bit machines.
| Andy Wingo | 2011-01-07 | 1 | -16/+9 |
* | Rehash weak hash tables less frequently....* libguile/hashtab.c (weak_bucket_assoc): Call `scm_i_rehash' only when
REMAINING is below `SCM_HASHTABLE_LOWER (table)'.
| Ludovic Courtès | 2010-12-16 | 1 | -1/+2 |
* | Include <alloca.h> wherever `alloca' is used....Patch provided by <carlo.bramix@libero.it> (tiny change).
* libguile/control.c, libguile/fluids.c, libguile/foreign.c,
libguile/hashtab.c, libguile/strings.c: Include <alloca.h>.
| Ludovic Courtès | 2010-11-19 | 1 | -0/+1 |
* | Allow arbitrary code in ASSOC procedures for weak hash tables (bug #29616)....* libguile/hashtab.c (struct t_assoc_args, do_weak_bucket_assoc):
Remove.
(struct t_fixup_args): New type.
(do_weak_bucket_fixup): New function.
(weak_bucket_assoc): Use it. Keep strong references to BUCKET's
entries in STRONG_REFS. Call ASSOC once the alloc lock has been
released. This fixes bug #29616.
* test-suite/tests/weaks.test ("assoc can do anything"): New test.
| Ludovic Courtès | 2010-10-11 | 1 | -41/+48 |
* | Fix a bug in weak hash table bucket fixup....* libguile/hashtab.c (scm_fixup_weak_alist): Keep the value of PREV
unchanged after a nullified pair is deleted; this fixes a bug whereby
if several successive nullified pairs were encountered, not all of them
would be removed, and the assertion in `weak_bucket_assoc' would be
hit. In addition, remove the `scm_is_pair (pair)' test.
| Ludovic Courtès | 2010-10-11 | 1 | -14/+14 |
* | Fix weak-value hash tables....* libguile/hashtab.c (scm_hash_fn_set_x): Register a disappearing link
to VAL when TABLE is weak-value.
* test-suite/tests/weaks.test ("weak-hash")["weak-key dies", "weak-value
dies", "doubly-weak dies"]: Use `hash-set!' and `hash-ref', not
`hashq-set!' and `hashq-ref', otherwise these tests would always
succeed because (eq? "this" "this") => #f.
["lives"]: Use `hash-ref' and `hash-set!' too for consistency.
| Ludovic Courtès | 2010-09-23 | 1 | -0/+7 |
* | fix build error with Compaq C V6.3-025...* libguile/hashtab.c: Re-arrange functions to avoid the need for
pre-declaring character arrays with no length. Fixes compilation on
Compaq C V6.3-025. Thanks to Jay Krell for the report.
| Andy Wingo | 2010-06-09 | 1 | -90/+88 |
* | fluids are tc7 objects...If you're wondering what I'm doing, I'm trying to eventually reimplement
smobs in terms of structs, so that applicable smobs can just follow the
applicable struct dispatch path. But to do that I have to get structs
initialized before things that use smobs, which means transforming a
bunch of smobby things to tc7 things. But this transformation is good
for performance anyway, and we currently have a glut of unused tc7s,
so here we go...
* libguile/tags.h (scm_tc7_fluid, scm_tc7_dynamic_state): Fluids (and
dynamic states) now have tc7s.
* libguile/fluids.h: Remove scm_fluids_prehistory, and add internal
scm_i_fluid_print. Update a comment.
* libguile/fluids.c: Update for tc7 representation. Also remove the next
pointers while we're at it, as they aren't used in the new BDW GC.
* libguile/eq.c (scm_equal_p): Remove the hashtable case. Hashtables
could never be equal? before, I don't see why to add stubs doing the
same thing now.
* libguile/print.c (iprin1):
* libguile/gc.c (scm_i_tag_name):
* libguile/evalext.c (scm_self_evaluating_p): Add fluid and
dynamic_state cases.
* libguile/goops.h: Remove scm_class_hashtable; it will be static.
* libguile/goops.c: Make <hashtable> static, and add <fluid> and
<dynamic-state> classes.
* libguile/hashtab.h:
* libguile/hashtab.c: Remove scm_i_hashtable_equal_p.
* libguile/init.c (scm_i_init_guile): Remove call to fluids_prehistory.
| Andy Wingo | 2009-12-05 | 1 | -6/+0 |
* | hash tables have a tc7...* libguile/tags.h (scm_tc7_hashtable): Allocate a tc7 for hashtables.
* libguile/hashtab.h: Adjust macros accordingly.
(scm_i_hashtable_print, scm_i_hashtable_equal_p): New internal
functions.
(scm_hashtab_prehistory): Remove, no more need for this.
* libguile/hashtab.c (scm_hash_fn_remove_x): Fix a longstanding bug.
(make_hash_table): Adapt to the new hash table representation.
* libguile/eq.c (scm_equal_p)
* libguile/evalext.c (scm_self_evaluating_p)
* libguile/print.c (iprin1)
* libguile/gc.c (scm_i_tag_name): Add some tc7_hashtab cases.
* libguile/init.c: Remove unused environments init functions. Remove
call to hashtab_prehistory.
* libguile/goops.h (scm_class_hashtable)
* libguile/goops.c (scm_class_of, create_standard_classes): Have to
make a class for hash tables manually, because they aren't smobs any
more.
| Andy Wingo | 2009-12-05 | 1 | -22/+14 |
* | remove uses of trampolines within guile itself...* libguile/eval.c (scm_map, scm_for_each)
* libguile/hashtab.c (scm_hash_for_each_handle)
* libguile/list.c (scm_filter, scm_filter_x)
* libguile/quicksort.i.c:
* libguile/sort.c (scm_restricted_vector_sort_x, scm_sorted_p)
(scm_merge, scm_merge_list_x, scm_merge_x)
(scm_merge_list_step, scm_sort_x, scm_sort, scm_merge_vector_x)
(scm_merge_vector_step, scm_stable_sort_x, scm_sort_list_x)
(scm_sort_list)nn
* libguile/srfi-13.c (scm_string_any, scm_string_every)
(scm_string_tabulate, scm_string_trim, string_trim_right)
(scm_string_trim_both, scm_string_index, scm_string_index_right)
(scm_string_skip, scm_string_skip_right, scm_string_count)
(scm_string_map, scm_string_map_x, scm_string_for_each)
(scm_string_for_each_index, scm_string_filter, scm_string_delete):
Remove uses of trampolines.
| Andy Wingo | 2009-12-01 | 1 | -3/+2 |
* | Hold the GC lock when traversing weak hash table buckets....* libguile/hashtab.c (scm_fixup_weak_alist): Clarify comment.
(struct t_assoc_args): New.
(do_weak_bucket_assoc, weak_bucket_assoc): New.
(START_WEAK_BUCKET_FIXUP, END_WEAK_BUCKET_FIXUP): Remove.
(scm_hash_fn_get_handle, scm_hash_fn_create_handle_x,
scm_hash_fn_remove_x): Use `weak_bucket_assoc ()' instead of
`START_WEAK_BUCKET_FIXUP'/`END_WEAK_BUCKET_FIXUP'.
| Ludovic Courtès | 2009-11-05 | 1 | -65/+102 |
* | Use proper fold/for-each function types in `hashtab.h'....* libguile/hashtab.h (scm_t_hash_fold_fn, scm_t_hash_handle_fn): New
types.
(scm_internal_hash_fold, scm_internal_hash_for_each_handle): Use them.
* libguile/hashtab.c (scm_internal_hash_fold): Take an
`scm_t_hash_fold_fn'. Update callers.
(scm_internal_hash_for_each_handle): Take an `scm_t_hash_handle_fn'.
Update callers.
| Ludovic Courtès | 2009-10-27 | 1 | -4/+7 |
* | Use proper assoc/hash function types in `hashtab.c'....This is a followup to d587c9e8b27219e68f8813fb648fc6913c93be0f ("Use
proper types for hash/assoc functions in `hashtab.h'.").
* libguile/hashtab.c (scm_i_rehash, scm_hash_fn_create_handle_x,
scm_hash_fn_ref, scm_hash_fn_set_x, scm_hash_fn_remove_x): Use
`scm_t_hash_fn' and `scm_t_assoc_fn' as appropriate.
| Ludovic Courtès | 2009-10-27 | 1 | -11/+14 |
* | Use proper types for hash/assoc functions in `hashtab.h'....Partly fixes bug #23681 ("Function declarators with empty parentheses
should not be used").
* libguile/goops.c (scm_wrap_component): Cast `scm_sloppy_assq'.
* libguile/hashtab.c (scm_hash_fn_get_handle): Update to take functions
of type `scm_t_hash_fn' and `scm_t_assoc_fn'. Update callers.
(scm_ihashx): Change to match `scm_t_hash_fn'.
(scm_sloppy_assx): Change to match `scm_t_assoc_fn'.
* libguile/hashtab.h (scm_t_hash_fn, scm_t_assoc_fn): New types.
(scm_t_hashtable)[hash_fn]: Change to `scm_t_hash_fn'.
(scm_i_rehash, scm_hash_fn_get_handle, scm_hash_fn_create_handle_x,
scm_hash_fn_ref, scm_hash_fn_set_x, scm_hash_fn_remove_x): Change to
take `scm_t_hash_fn' and `scm_t_assoc_fn' parameters.
* libguile/srcprop.h (scm_whash_get_handle, scm_whash_create_handle,
scm_whash_lookup): Implement in terms of `scm_hashq_*' instead of
`scm_hash_fn_*'.
* libguile/struct.c (scm_struct_ihashq): Change to match
`scm_t_hash_fn'.
(scm_struct_create_handle): Cast `scm_sloppy_assq'.
* libguile/struct.h (scm_struct_ihashq): Update, make internal.
| Ludovic Courtès | 2009-10-20 | 1 | -21/+72 |
* | 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:
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 | -0/+3 |
|\| |
|
| * | Include <config.h> in all C files; use `#ifdef HAVE_CONFIG_H' rather than `#if'. | Ludovic Courtès | 2008-09-13 | 1 | -0/+3 |