Andy Wingo
8280c8485f
Move weak table implementation to Scheme
...
* libguile/weak-table.c:
* libguile/weak-table.h: Remove.
* libguile.h: Remove weak-table.h include.
* libguile/Makefile.am (libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES):
(DOT_X_FILES):
(DOT_DOC_FILES):
(modinclude_HEADERS): Remove weak-table.[ch].
* libguile/evalext.c:
* libguile/fluids.c:
* libguile/hash.c:
* libguile/init.c:
* libguile/print.c:
* libguile/scm.h: Remove uses of weak-table.h and free up the tc7.
* libguile/hashtab.c:
* libguile/hashtab.h: Add deprecated shims to dispatch to (ice-9
weak-tables) when working on weak tables.
* module/ice-9/weak-tables.scm: New implementation. Embeds the hash and
equality functions in the table itself.
* module/ice-9/object-properties.scm:
* module/ice-9/poe.scm:
* module/ice-9/popen.scm:
* module/ice-9/source-properties.scm:
* module/language/cps/compile-bytecode.scm:
* module/language/ecmascript/array.scm:
* module/language/ecmascript/function.scm:
* module/oop/goops/save.scm:
* module/srfi/srfi-18.scm:
* module/srfi/srfi-69.scm:
* module/system/base/types.scm:
* module/system/base/types/internal.scm:
* module/system/foreign.scm:
* module/system/vm/assembler.scm:
* test-suite/tests/gc.test:
* test-suite/tests/hash.test:
* test-suite/tests/srfi-69.test:
* test-suite/tests/types.test:
* test-suite/tests/weaks.test: Update to use new, non-deprecated weak
tables API.
2025-05-13 14:57:31 +02:00
Andy Wingo
67dca3a1f5
Move weak tables out to a module
...
* module/ice-9/weak-tables.scm: New file.
* am/bootstrap.am (SOURCES): Wire it up.
* module/ice-9/deprecated.scm: Add deprecation shims.
* libguile/init.c (scm_i_init_guile): Don't add weak bindings to default
module.
* libguile/weak-table.h:
* libguile/weak-table.c (scm_init_weak_tables):
(scm_weak_table_prehistory): Arrange to load bindings from the weaks
module.
* module/ice-9/hcons.scm:
* module/ice-9/object-properties.scm:
* module/ice-9/poe.scm:
* module/ice-9/popen.scm:
* module/ice-9/sandbox.scm:
* module/language/ecmascript/function.scm:
* module/oop/goops/save.scm:
* module/srfi/srfi-18.scm:
* module/srfi/srfi-69.scm:
* module/system/foreign.scm:
* test-suite/tests/gc.test:
* test-suite/tests/hash.test:
* test-suite/tests/types.test:
* test-suite/tests/weaks.test: Adapt to use the new module.
2025-05-12 13:45:07 +02:00
Ricardo G. Herdt
23042a1ef9
Fix hash-table-merge! bug.
...
* module/srfi/srfi-69.scm : fold over second hash table.
2021-03-12 22:31:00 +01:00
Mark H Weaver
edb6de0bec
Add missing 'cond-expand' feature identifiers; remove srfi-6 from core list.
...
* module/ice-9/boot-9.scm (%cond-expand-features): Remove redundant list
of feature identifiers in the comment. Explain more clearly what
belongs in this list. Remove srfi-6.
* module/srfi/srfi-4.scm, module/srfi/srfi-27.scm,
module/srfi/srfi-31.scm, module/srfi/srfi-38.scm,
module/srfi/srfi-39.scm, module/srfi/srfi-42.scm,
module/srfi/srfi-45.scm, module/srfi/srfi-67.scm: Add missing
'cond-expand-provide'.
* module/srfi/srfi-69.scm: Fix erroneous 'cond-expand-provide'.
* doc/ref/srfi-modules.texi (SRFI-0): Update the list of features in
Guile core.
2013-03-21 12:50:04 -04:00
Andreas Rottmann
5efcd34d71
Extend the #:replace list of the SRFI 69 module
...
* module/srfi/srfi-69.scm: Add `make-hash-table' and `hash-table?' to
the #:replace list of the module definition.
2010-10-27 23:33:40 +02:00
Neil Jerram
83ba2d3750
Complete changing license to LGPLv3+
...
(Still guile-readline to do, but that will all be GPLv3+.)
2009-06-17 22:30:26 +01:00
Andy Wingo
6c3686ea14
define macros before functions using macros; more MV fixen in srfi-69
...
* module/srfi/srfi-69.scm: Move the macros up before the functions that
use them, so that the compiler can do its job.
(hash-table-walk): While it is true about what I said about R5RS
before, it seems that for R6 this will have to change. Anyway. In the
meantime, since the test suite checks that hash-table-walk procedures'
return values and number of return values are ignored, call that
procedure within a call-with-values.
2008-11-01 20:31:57 +01:00
Andy Wingo
ea93465de7
move scm srfi files to module/srfi, and compile them.
...
* .gitignore: Add gdb-pre-inst-guile.
* configure.in: Add module/srfi/Makefile.
* module/Makefile.am: Add srfi/.
* module/srfi/: SRFI scheme files moved here, and compiled.
* srfi/Makefile.am: Remove the bits about the scheme files.
2008-11-01 13:49:23 +01:00