summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--lib/rdoc/generators/ri_generator.rb24
-rw-r--r--lib/rdoc/options.rb2
3 files changed, 27 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index cecb8e953d..feae1513e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Mon Jan 7 11:51:49 2008 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rdoc/generators/ri_generator.rb: Merge documentation from the
+ same class on output. Fixes bug where documentation could
+ disappear.
+
+ * lib/rdoc/options.rb: Fix typo.
+
+ * lib/rdoc/generators/*: Clean up some namespacing and make RDoc
+ consistent.
+
Mon Jan 7 11:44:45 2008 Tanaka Akira <akr@fsij.org>
* encoding.c (rb_enc_internal_get_index): extracted from
diff --git a/lib/rdoc/generators/ri_generator.rb b/lib/rdoc/generators/ri_generator.rb
index b248909fa9..edca9938a5 100644
--- a/lib/rdoc/generators/ri_generator.rb
+++ b/lib/rdoc/generators/ri_generator.rb
@@ -28,6 +28,8 @@ class Generators::RIGenerator
@ri_writer = RI::RiWriter.new(".")
@markup = SM::SimpleMarkup.new
@to_flow = SM::ToFlow.new
+
+ @generated = {}
end
##
@@ -205,17 +207,21 @@ class Generators::RIGenerator
end
end
- if old_cls.nil?
- # no merge: simply overwrite
- @ri_writer.remove_class(cls_desc)
- @ri_writer.add_class(cls_desc)
- else
- # existing class: merge in
- old_desc = rdr.get_class(old_cls)
+ prev_cls = @generated[cls_desc.full_name]
+
+ if old_cls and not prev_cls then
+ old_desc = rdr.get_class old_cls
+ cls_desc.merge_in old_desc
+ end
- old_desc.merge_in(cls_desc)
- @ri_writer.add_class(old_desc)
+ if prev_cls then
+ cls_desc.merge_in prev_cls
end
+
+ @generated[cls_desc.full_name] = cls_desc
+
+ @ri_writer.remove_class cls_desc
+ @ri_writer.add_class cls_desc
end
end
diff --git a/lib/rdoc/options.rb b/lib/rdoc/options.rb
index 259fef487b..0b12efe9be 100644
--- a/lib/rdoc/options.rb
+++ b/lib/rdoc/options.rb
@@ -352,7 +352,7 @@ class Options
@op_name = nil
@show_all = false
@main_page = nil
- @marge = false
+ @merge = false
@exclude = []
@quiet = false
@generator_name = 'html'