1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-18 01:30:27 +02:00

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.
This commit is contained in:
Andy Wingo 2009-02-02 23:00:36 +01:00
parent 8403b9f59b
commit e311f5fa04
5 changed files with 72 additions and 24 deletions

View file

@ -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;
}
}