mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 01:30:27 +02:00
procedure-documentation works on RTL procedures
* libguile/procprop.h: * libguile/procprop.c (scm_procedure_documentation): Move here from procs.c, and to make the logic more similar to that of procedure-name, which allows RTL programs to dispatch to rtl-program-documentation. * libguile/programs.c (scm_i_rtl_program_documentation): * libguile/programs.h: * module/system/vm/program.scm (rtl-program-documentation): New plumbing. * module/system/vm/debug.scm (find-program-docstring): New interface to grovel ELF for a docstring.
This commit is contained in:
parent
9128b1a19f
commit
bf8328ec16
9 changed files with 100 additions and 20 deletions
|
@ -123,6 +123,19 @@ scm_i_rtl_program_name (SCM program)
|
|||
return scm_call_1 (scm_variable_ref (rtl_program_name), program);
|
||||
}
|
||||
|
||||
SCM
|
||||
scm_i_rtl_program_documentation (SCM program)
|
||||
{
|
||||
static SCM rtl_program_documentation = SCM_BOOL_F;
|
||||
|
||||
if (scm_is_false (rtl_program_documentation) && scm_module_system_booted_p)
|
||||
rtl_program_documentation =
|
||||
scm_c_private_variable ("system vm program",
|
||||
"rtl-program-documentation");
|
||||
|
||||
return scm_call_1 (scm_variable_ref (rtl_program_documentation), program);
|
||||
}
|
||||
|
||||
void
|
||||
scm_i_program_print (SCM program, SCM port, scm_print_state *pstate)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue