1
Fork 0
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:
Andy Wingo 2013-05-16 23:38:29 +02:00
parent 9128b1a19f
commit bf8328ec16
9 changed files with 100 additions and 20 deletions

View file

@ -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)
{