mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-02 18:26:20 +02:00
Oh yeah! They are almost impossible to use correctly as-is, have mostly disappeared in practice (I am aware of only two users), have the wrong interface for moving collectors, and current usage has cemented smobs as conservatively-marked objects. In order to move forward with Whippet, they have to go! * libguile/deprecated.h (SCM_SMOB_MARK, SCM_GLOBAL_SMOB_MARK, scm_mark0) (scm_markcdr, scm_free0, scm_set_smob_mark, scm_gc_mark): Remove these, leaving defines to indicate that users should talk to guile-devel to figure out what to do. * libguile/smob.h: Remove interfaces relating to mark functions. (scm_new_double_smob, scm_new_smob): Make not inline * libguile/smob.c: Remove mark functions from here. (scm_new_smob): Out-of-line-only definition. (scm_smob_prehistory): Don't create a new GC kind for smobs. * test-suite/standalone/test-smob-mark-race.c: * test-suite/standalone/test-smob-mark.c: Remove. * test-suite/standalone/Makefile.am: Update. |
||
---|---|---|
.. | ||
.gitignore | ||
Makefile.am | ||
README | ||
test-asmobs | ||
test-asmobs-lib.c | ||
test-bad-identifiers | ||
test-close-on-exec | ||
test-command-line-encoding | ||
test-command-line-encoding2 | ||
test-conversion.c | ||
test-extensions | ||
test-extensions-lib.c | ||
test-fast-slot-ref.in | ||
test-ffi | ||
test-ffi-lib.c | ||
test-foreign-object-c.c | ||
test-foreign-object-scm | ||
test-guild-compile | ||
test-guile-snarf | ||
test-hashing.c | ||
test-import-order | ||
test-import-order-a.scm | ||
test-import-order-b.scm | ||
test-import-order-c.scm | ||
test-import-order-d.scm | ||
test-language | ||
test-language.el | ||
test-language.js | ||
test-list.c | ||
test-loose-ends.c | ||
test-mb-regexp | ||
test-num2integral.c | ||
test-out-of-memory | ||
test-pthread-create-secondary.c | ||
test-pthread-create.c | ||
test-require-extension | ||
test-round.c | ||
test-scm-c-bind-keyword-arguments.c | ||
test-scm-c-read.c | ||
test-scm-spawn-thread.c | ||
test-scm-take-locale-symbol.c | ||
test-scm-take-u8vector.c | ||
test-scm-to-latin1-string.c | ||
test-scm-values.c | ||
test-scm-with-guile.c | ||
test-sigaction-fork | ||
test-signal-fork | ||
test-srfi-4.c | ||
test-stack-overflow | ||
test-system-cmds | ||
test-unwind.c | ||
test-use-srfi.in | ||
test-with-guile-module.c |
-*-text-*- These tests use the standard automake TESTS mechanism. Tests should be listed in TESTS in Makefile.am, and should exit with 0 on success, non-zero on failure, and 77 if the result should be ignored. See the automake info pages for more information. If you want to use a scheme script, prefix it as follows: #!/bin/sh exec guile -s "$0" "$@" !# Makefile.am will arrange for all tests (scripts or executables) to be run under uninstalled-env so that the PATH, LD_LIBRARY_PATH, and GUILE_LOAD_PATH will be augmented appropriately. The Makefile.am has an example of creating a shared library to be used from a test scheme script as well. You can also create standalone executables that include your own code, are linked against libguile, and that run a given test script (or scripts). One way to do this is to create the binary, make sure it calls scm_shell (argc, argv) as its final action, and put this bit at the top of your test script: #!./my-test-binary -s !#