diff options
author | Andy Wingo <wingo@pobox.com> | 2009-02-02 23:00:36 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-02-02 23:00:36 +0100 |
commit | e311f5fa04a45e1ddc4dea4d37911c98c692848f (patch) | |
tree | e5c3e38416d05fd02787e250f957bfabb905a8f8 /libguile/debug.c | |
parent | 8403b9f59bcd10d1b69a1f14e3175c9cf8a786db (diff) | |
download | guile-e311f5fa04a45e1ddc4dea4d37911c98c692848f.tar.gz |
tick in calls, procedure-name works on compiled procedures
* module/system/vm/program.scm:
* libguile/programs.h:
* libguile/programs.c (scm_program_bindings, scm_program_bindings)
(scm_program_properties, scm_program_name): Unfortunately, implement
more procs in C, so that C can use them more easily.
* libguile/debug.c (scm_procedure_name): Dispatch to scm_program_name as
appropriate.
* libguile/vm-i-system.c (call): Tick in a call.
Diffstat (limited to 'libguile/debug.c')
-rw-r--r-- | libguile/debug.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libguile/debug.c b/libguile/debug.c index 4de7024ab..ac9a89143 100644 --- a/libguile/debug.c +++ b/libguile/debug.c @@ -42,6 +42,7 @@ #include "libguile/root.h" #include "libguile/fluids.h" #include "libguile/objects.h" +#include "libguile/programs.h" #include "libguile/validate.h" #include "libguile/debug.h" @@ -314,6 +315,8 @@ SCM_DEFINE (scm_procedure_name, "procedure-name", 1, 0, 0, #endif if (scm_is_false (name) && SCM_CLOSUREP (proc)) name = scm_reverse_lookup (SCM_ENV (proc), proc); + if (scm_is_false (name) && SCM_PROGRAM_P (proc)) + name = scm_program_name (proc); return name; } } |