summaryrefslogtreecommitdiff
path: root/libguile/debug.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-02-02 23:00:36 +0100
committerAndy Wingo <wingo@pobox.com>2009-02-02 23:00:36 +0100
commite311f5fa04a45e1ddc4dea4d37911c98c692848f (patch)
treee5c3e38416d05fd02787e250f957bfabb905a8f8 /libguile/debug.c
parent8403b9f59bcd10d1b69a1f14e3175c9cf8a786db (diff)
downloadguile-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.c3
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;
}
}