Bug #20678
Updated by jaruga (Jun Aruga) 3 months ago
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 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.