Bug #20678
closedDoxygen document doesn't print Ruby C APIs properly
Description
I am looking for how to see a list of Ruby C API descriptions written in the comment area by a command.
For example, in the case of the rb_scan_args
, the description is below.
https://github.com/ruby/ruby/blob/908305a2977856264a932cad02437c30f08c365b/include/ruby/internal/scan_args.h#L93-L147
The ri
command only shows a very simple text rather than the above description.
$ ri rb_scan_args
= .rb_scan_args
(from ruby core)
=== Implementation from C
------------------------------------------------------------------------
rb_scan_args(method_body)
------------------------------------------------------------------------
Extracts parameters from the method_body and returns a method parameter
string. Follows 1.9.3dev's scan-arg-spec, see README.EXT
@nobu (Nobuyoshi Nakada) gave me a clue to print the list of such descriptions by using doxygen
.
Below are the steps I tested at the latest ruby/ruby master branch 2a933609e75aa87f27cf1c892a54389d3efed928 on my Fedora Linux 39.
Installed Doxygen.
$ sudo dnf install doxygen
$ which doxygen
/bin/doxygen
$ doxygen --version
1.9.7
$ rpm -q doxygen
doxygen-1.9.7-3.fc39.x86_64
Generated the Doxygen document. Then the doc/capi
directory was created.
$ ./autogen.sh
$ ./configure ...<snip>...
...
checking for doxygen... doxygen
...
$ make capi
Opened the Main page.
$ firefox doc/capi/html/index.html &
Then I cannot find the document about rb_scan_args
on the Main Page (ruby_doxygen_main_page.png
) and Namespace List (ruby_doxygen_namespace_list.png
) page.
Do you know what's the reason and what's wrong? I don't think all the Ruby APIs are listed on the page. I assume there may be a bug in the process of generating the doxygen document.
Files
Updated by ufuk (Ufuk Kayserilioglu) 3 months ago
I believe it is being generated. Probably not where you expect it to be, though: https://docs.ruby-lang.org/capi/en/master/d7/d19/group__defmethod.html#gaa7bed88640f01bee619f85fda09d28d7
Btw, since https://bugs.ruby-lang.org/issues/20639, the C API documents generated by Doxygen are being published at https://docs.ruby-lang.org/capi/en/master/
Updated by jaruga (Jun Aruga) 3 months ago
Ufuk, thank you for info!
I found the document about the rb_scan_args
(ruby_doxygen_rb_scan_args.png
) by clicking "Modules" (doc/capi/html/modules.html
) - "Defining methods" on my environment.
And it's nice to see the online document!
So, this is not the issue. I would close this ticket.