Skip to content

リンク切れになっていた参照の記法ミスとタイポを修正#3313

Open
Watson1978 wants to merge 1 commit into
rurema:masterfrom
Watson1978:fix-broken-link-notation
Open

リンク切れになっていた参照の記法ミスとタイポを修正#3313
Watson1978 wants to merge 1 commit into
rurema:masterfrom
Watson1978:fix-broken-link-notation

Conversation

@Watson1978

Copy link
Copy Markdown
Contributor

概要

リンク切れになっている参照のうち、原因が記法ミスとタイポに限られるものを直しました。
18 ファイル・32 箇所です。参照先が実在することは DB で確認しています。

見つけ方

rake statichtml:4.0 で静的 HTML を生成し、出力された href のうち生成物に
対応するページが無いものを集めました。読者から見て 404 になるリンクです。

参照先が存在しなくても bitclust は compileerror にせず、存在しない URL への
リンクを黙って生成するため、lint も DB 生成も通ってしまいます。

内訳

メソッドを [c:] で参照していたもの (24 箇所)

[c:OpenSSL::X509::Extension#oid] のようにメソッドをクラス参照で書いており、
[m:...] が正しい記法です。openssl / irb / psych / rexml / drb / csv /
net-imap の各ライブラリと doc/news/2_7_0.md にありました。

定数を [c:] で参照していたもの (6 箇所)

[c:OpenSSL::PKCS7::TEXT] など。同じく [m:...] が正しい記法です。

末尾の ? の付け忘れ (1 箇所)

[m:String#valid_encoding][m:String#valid_encoding?]

定数名のタイポ (3 箇所)

[m:GetoptLong::REQUIRE_ARGUMENT] -> [m:GetoptLong::REQUIRED_ARGUMENT]
[m:Socket::AI_CANONINAME]        -> [m:Socket::AI_CANONNAME]

どちらも実機で誤記側は存在せず、正しい綴りのみ存在することを確認しました。
文脈も NO_ARGUMENT / OPTIONAL_ARGUMENT と並ぶ列挙、getaddrinfo のフラグ
指定であり、意図は明らかです。

今回含めていないもの

同じ調査で他にもリンク切れが見つかっていますが、原因が異なり判断が要るため
分けています。

  • 未収録 API への参照 (例: doc/news/2_4_0.mdNet::HTTP.post は 2.4 で
    追加されたクラスメソッドの紹介で、収録されていないことが原因)
  • 削除された機能への参照 (Fixnum / Bignum / Object#taint など)
  • マニュアル側の定義とずれているもの (module_function かどうかの違い)
  • api/_builtin/Thread.md の 2 件は Thread: native_thread_id・thread_variables・each_caller_location を追加 #3308 と同じファイルのため、そちらに含めるか
    相談中です

検証

  • rake check_format / check_blank_lines / check_indent_in_samplecode /
    check_single_space_indent
  • 修正後に静的 HTML を再生成し、直した 32 箇所がすべて解決していること、
    新たに壊れたリンクが増えていないことを確認しました
    (リンク切れ 266 種 → 238 種)

🤖 Generated with Claude Code

静的 HTML を生成して href を検証したところ、参照先のページが存在しない
リンクが多数あった。そのうち原因が記法ミスとタイポに限られるものを直した。

- メソッドを [c:] で参照していたもの (24箇所)
  例: [c:OpenSSL::X509::Extension#oid] -> [m:OpenSSL::X509::Extension#oid]
- 定数を [c:] で参照していたもの (6箇所)
  例: [c:OpenSSL::PKCS7::TEXT] -> [m:OpenSSL::PKCS7::TEXT]
- 末尾の ? の付け忘れ (1箇所)
  [m:String#valid_encoding] -> [m:String#valid_encoding?]
- 定数名のタイポ (3箇所)
  [m:GetoptLong::REQUIRE_ARGUMENT] -> [m:GetoptLong::REQUIRED_ARGUMENT]
  [m:Socket::AI_CANONINAME] -> [m:Socket::AI_CANONNAME]
  どちらも実機で誤記側が存在せず、正しい綴りのみ存在することを確認した。

参照先が実在することは DB で確認済み。リンク切れは 266 種から 238 種に減った。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@znz

znz commented Jul 25, 2026

Copy link
Copy Markdown
Member

レビューありがとうございます。変更された 32 箇所すべてを、各エントリの定義(### def / ### const と、その直上の ## Instance Methods / ## Singleton Methods / ## Constants 見出し)と突き合わせて確認しました。いずれも実在する定義を指す正しい記法になっており、マージ可と考えます。

特に [c:...] は bitclust 側でリンク先の存在確認を一切行わず(class_link::= の文字列変換をするだけ)、[c:Class.method][c:Class::CONST] は存在しないページへの静かなリンク切れになります。一方 [m:...] は typemark(# / . / ::)を見てインスタンス / 特異 / 定数を正しく解決します。したがって本 PR の [c:][m:] 置換はどれも実際のリンク切れの修正になっています。

代表的な確認:

  • [m:String#valid_encoding][m:String#valid_encoding?](定義は ? 付き)
  • [c:CSV.parse_line][m:CSV.parse_line](## Singleton Methods 配下。同ファイル内で既に [m:CSV.parse_line] と書かれている箇所とも一致)
  • [m:GetoptLong::REQUIRE_ARGUMENT]REQUIRED_ARGUMENT(定義・サンプルコードとも REQUIRED_ARGUMENT)
  • [m:Socket::AI_CANONINAME]AI_CANONNAME(AI_CANONINAME は全 socket 定数に存在せず、常にリンク切れだったタイポ)
  • OpenSSL 系(X509::Extension#critical? ほか)・定数(PKCS7::TEXTX509::Name::OBJECT_TYPE_TEMPLATE ほか)も、すべて対応する ### def / ### const を確認しました。

いずれも括弧内の記法・綴りの修正のみで、周囲の地の文や意味には手が入っていない点も確認しました。ありがとうございました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants