Problem due to commit 75d15117643d17a3c3d92b41512bd7840c91705b included with 6.12.0
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- ruby
- Bereich
- documentation
Rechercherichtung
Beginne mit doc/api/ruby/create_ruby_doc.rb, insbesondere mit C_Parser_Paludis#initialize, und untersuche den Pfad zur Parser-Erstellung in rdoc/parser.rb. Vergleiche den Vertrag des Initializers vor und nach dem Commit 75d15117643d17a3c3d92b41512bd7840c91705b und überprüfe anschließend einen Kompatibilitätsansatz, der funktioniert, ohne RDoc >= 6.12 vorauszusetzen. Als erledigt gilt die Aufgabe, wenn der dokumentierte Ablauf zur Generierung der Ruby-Bindings über die betroffenen RDoc-Versionen hinweg keinen Argumentanzahlfehler mehr auslöst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
First of all, I should add that this is not really a bug, more of an uncomfortable compatibility problem, but README encourages me to report anything I have a problem with (nice, thanks!), so here's the problem:
I have a project which inherits from RDoc::Parser::C to generate documention for its ruby bindings.
module RDoc
class C_Parser_Paludis < Parser::C
#override C_Parse
parse_files_matching(/\.(c|cc|cpp|CC)$/)
def initialize(top_level, file_name, body, options, stats)
...
super(top_level, file_name, new_body, options, stats)
end
...
end
end
begin
r = RDoc::RDoc.new
r.document(ARGV)
rescue RDoc::Error => e
$stderr.puts e.message
exit(1)
end
(Full code here: https://gitlab.exherbo.org/paludis/paludis/-/blob/master/doc/api/ruby/create_ruby_doc.rb)
After updating ruby 3.4.4 to 3.4.5, which updated rdoc from 6.10.0 to 6.14.0 I get:
RDoc is not a full Ruby parser and will fail when fed invalid ruby programs.
The internal error was:
(ArgumentError) wrong number of arguments (given 4, expected 5)
/home/heiko/Quelltexte/git-sources/exherbo/paludis/doc/api/ruby/create_ruby_doc.rb:13:in 'initialize': wrong number of arguments (given 4, expected 5) (ArgumentError)
from /usr/x86_64-pc-linux-gnu/lib/ruby/3.4/rdoc/parser.rb:194:in 'Class#new'
from /usr/x86_64-pc-linux-gnu/lib/ruby/3.4/rdoc/parser.rb:194:in 'RDoc::Parser.for'
from /usr/x86_64-pc-linux-gnu/lib/ruby/3.4/rdoc/rdoc.rb:350:in 'RDoc::RDoc#parse_file'
from /usr/x86_64-pc-linux-gnu/lib/ruby/3.4/rdoc/rdoc.rb:406:in 'block in RDoc::RDoc#parse_files'
from /usr/x86_64-pc-linux-gnu/lib/ruby/3.4/rdoc/rdoc.rb:404:in 'Array#map'
from /usr/x86_64-pc-linux-gnu/lib/ruby/3.4/rdoc/rdoc.rb:404:in 'RDoc::RDoc#parse_files'
from /usr/x86_64-pc-linux-gnu/lib/ruby/3.4/rdoc/rdoc.rb:467:in 'RDoc::RDoc#document'
from /home/heiko/Quelltexte/git-sources/exherbo/paludis/doc/api/ruby/create_ruby_doc.rb:87:in '<main>'
This is "caused" by 75d15117643d17a3c3d92b41512bd7840c91705b, which changed initialize's signature. I could conditionalize the call to super(..), but I don't know how to do that for C_Parser_Paludis's initialize itself.
Any pointers how this could be best solved without requiring rdoc >= 6.12.0 would be very welcome.
- Vorherrschende Sprache
- Ruby
- Sterne
- 928
- Forks
- 470
- Ø Merge
- 1 T. 5 Std.
- Gemergte PRs (30 T.)
- 16
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus ruby/rdoc
-
RDoc 8.0.0 gem omits `doc/rdoc/example.rb`, which is referenced by the packaged markup documentationEvtl. vergeben @OskarEichler hat das vor 56 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
ruby/rdoc#1759 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
markdown html excerpt includes link partsEvtl. vergeben @anyingiit hat das vor 2 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag
-
Regexp generated from unescaped input in #expand_classEvtl. vergeben @jaynetics hat das vor 15 Tagen übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 25/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 68/100
ruby/rdoc#1823 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
FinanceFlash/unvibecode#273 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
we-promise/sure#4481 ·
Maintainer antworten meist innerhalb von 1 Tag
-
data error
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
riscv/riscv-unified-db#2772 ·
Maintainer antworten meist innerhalb von 1 Tag