Project

General

Profile

Actions

Bug #20678

closed

Doxygen document doesn't print Ruby C APIs properly

Added by jaruga (Jun Aruga) 4 months ago. Updated 4 months ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:118858]

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

ruby_doxygen_main_page.png (55.8 KB) ruby_doxygen_main_page.png jaruga (Jun Aruga), 08/15/2024 09:49 AM
ruby_doxygen_namespace_list.png (164 KB) ruby_doxygen_namespace_list.png jaruga (Jun Aruga), 08/15/2024 09:49 AM
ruby_doxygen_rb_scan_args.png (169 KB) ruby_doxygen_rb_scan_args.png jaruga (Jun Aruga), 08/15/2024 10:10 AM
Actions #1

Updated by jaruga (Jun Aruga) 4 months ago

  • Description updated (diff)

Updated by ufuk (Ufuk Kayserilioglu) 4 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) 4 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.

Actions #4

Updated by jaruga (Jun Aruga) 4 months ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0