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:
parent
8403b9f59b
commit
e311f5fa04
5 changed files with 72 additions and 24 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue