* module/ice-9/local-eval.scm: New module (ice-9 local-eval) which exports `the-environment', `local-eval', and `local-compile'. * libguile/debug.c (scm_local_eval): New C function that calls the Scheme implementation of `local-eval' in (ice-9 local-eval). * libguile/debug.h (scm_local_eval): Add prototype. * doc/ref/api-evaluation.texi (Local Evaluation): Add documentation. * test-suite/tests/eval.test (local evaluation): Add tests. * test-suite/standalone/test-loose-ends.c (test_scm_local_eval): Add test. * module/Makefile.am: Add ice-9/local-eval.scm. Based on a patch by Mark H Weaver <mhw@netris.org>. |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| Makefile.am | ||
| README | ||
| test-asmobs | ||
| test-asmobs-lib.c | ||
| test-bad-identifiers | ||
| test-command-line-encoding | ||
| test-conversion.c | ||
| test-extensions | ||
| test-extensions-lib.c | ||
| test-fast-slot-ref.in | ||
| test-ffi | ||
| test-ffi-lib.c | ||
| test-guile-snarf | ||
| test-import-order | ||
| test-import-order-a.scm | ||
| test-import-order-b.scm | ||
| test-import-order-c.scm | ||
| test-import-order-d.scm | ||
| test-list.c | ||
| test-loose-ends.c | ||
| test-mb-regexp | ||
| test-num2integral.c | ||
| test-pthread-create-secondary.c | ||
| test-pthread-create.c | ||
| test-require-extension | ||
| test-round.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-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 !#