summaryrefslogtreecommitdiff
path: root/module/system/vm/program.scm
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2013-05-16 23:38:29 +0200
committerAndy Wingo <wingo@pobox.com>2013-06-09 23:59:01 +0200
commitbf8328ec16cbe76b7af9703bb41e964865034561 (patch)
tree53957dcaa2955689353c2cab6c8435b190fb1978 /module/system/vm/program.scm
parent9128b1a19fe89de1aacafe5ccffd06e193f531bc (diff)
downloadguile-bf8328ec16cbe76b7af9703bb41e964865034561.tar.gz
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.
Diffstat (limited to 'module/system/vm/program.scm')
-rw-r--r--module/system/vm/program.scm6
1 files changed, 6 insertions, 0 deletions
diff --git a/module/system/vm/program.scm b/module/system/vm/program.scm
index a4bd64e28..d719e954c 100644
--- a/module/system/vm/program.scm
+++ b/module/system/vm/program.scm
@@ -62,6 +62,12 @@
program-debug-info-name))
;; This procedure is called by programs.c.
+(define (rtl-program-documentation program)
+ (unless (rtl-program? program)
+ (error "shouldn't get here"))
+ (find-program-docstring (rtl-program-code program)))
+
+;; This procedure is called by programs.c.
(define (rtl-program-minimum-arity program)
(unless (rtl-program? program)
(error "shouldn't get here"))