summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-12 03:11:25 +0000
committerdave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-12 03:11:25 +0000
commit16b7b1fb958e295b29e431bd080a0d2e3a69cd8c (patch)
treed7ab7b4afd69c24003984b215195cf8f29cdfc00
parent9ac4ebbf2178d48ae7f844e02572f8662c91a589 (diff)
Add explicit line breaks in method signatures for ri. Fixup some comments in object.c. Support changes comments for "in xxx.c"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog17
-rw-r--r--lib/rdoc/parsers/parse_c.rb8
-rw-r--r--lib/rdoc/ri/ri_display.rb5
-rw-r--r--lib/rdoc/ri/ri_formatter.rb16
-rw-r--r--object.c2
5 files changed, 39 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 6f441b1571..d64a092b43 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+Mon Jan 12 12:07:22 2004 Dave Thomas <dave@pragprog.com>
+
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods):
+ Someone changed the "// in eval.c" comments to "/*...*/" style,
+ so the parsing of the source file name broke.
+
+ * object.c: Remove spurious space in TrueClass documentation.
+
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body): Fix
+ bad regexp: if the code before a documented method contained
+ a comment that wasn't terminated by whitespace, that comment
+ and all intervening code was included in the following
+ method's documentation.
+
+ * lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter::break_to_newline):
+ HTML formats need explicit line breaks.
+
Mon Jan 12 11:46:30 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (LIBPATHFLAG, RPATHFLAG): enclose paths with single
diff --git a/lib/rdoc/parsers/parse_c.rb b/lib/rdoc/parsers/parse_c.rb
index 904aeb9417..b1b752222b 100644
--- a/lib/rdoc/parsers/parse_c.rb
+++ b/lib/rdoc/parsers/parse_c.rb
@@ -261,11 +261,10 @@ module RDoc
\s*"([^"]+)",
\s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?,
\s*(-?\w+)\s*\)
- (?:;\s*//\s+in\s+(\w+?\.[cy]))?
+ (?:;\s*/[*/]\s+in\s+(\w+?\.[cy]))?
}xm) do
|type, var_name, meth_name, meth_body, param_count, source_file|
#"
- next if meth_name == "initialize_copy"
# Ignore top-object and weird struct.c dynamic stuff
next if var_name == "ruby_top_self"
@@ -282,10 +281,9 @@ module RDoc
\s*"([^"]+)",
\s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?,
\s*(-?\w+)\s*\)
- (?:;\s*//\s+in\s+(\w+?\.[cy]))?
+ (?:;\s*/[*/]\s+in\s+(\w+?\.[cy]))?
}xm) do #"
|meth_name, meth_body, param_count, source_file|
-
handle_method("method", "rb_mKernel", meth_name,
meth_body, param_count, source_file)
end
@@ -346,7 +344,7 @@ module RDoc
# Find the C code corresponding to a Ruby method
def find_body(meth_name, meth_obj, body)
- if body =~ %r{((?>/\*.*?\*/\s+))(static\s+)?VALUE\s+#{meth_name}
+ if body =~ %r{((?>/\*.*?\*/\s*))(static\s+)?VALUE\s+#{meth_name}
\s*(\(.*?\)).*?^}xm
comment, params = $1, $3
body_text = $&
diff --git a/lib/rdoc/ri/ri_display.rb b/lib/rdoc/ri/ri_display.rb
index 6899fe165a..8533aba822 100644
--- a/lib/rdoc/ri/ri_display.rb
+++ b/lib/rdoc/ri/ri_display.rb
@@ -237,7 +237,10 @@ class DefaultDisplay
params = method.name + params
end
end
- params.split(/\n/).each {|p| @formatter.wrap(p) }
+ params.split(/\n/).each do |p|
+ @formatter.wrap(p)
+ @formatter.break_to_newline
+ end
end
######################################################################
diff --git a/lib/rdoc/ri/ri_formatter.rb b/lib/rdoc/ri/ri_formatter.rb
index f4ea7cb049..07439b93f7 100644
--- a/lib/rdoc/ri/ri_formatter.rb
+++ b/lib/rdoc/ri/ri_formatter.rb
@@ -68,6 +68,15 @@ module RI
######################################################################
+ # called when we want to ensure a nbew 'wrap' starts on a newline
+ # Only needed for HtmlFormatter, because the rest do their
+ # own line breaking
+
+ def break_to_newline
+ end
+
+ ######################################################################
+
def bold_print(txt)
print txt
end
@@ -459,14 +468,13 @@ module RI
print(escape(achar.char))
end
update_attributes(curr_attr, 0) unless curr_attr.zero?
- puts
end
def draw_line(label=nil)
if label != nil
bold_print(label)
end
- puts("<hr /><p />")
+ puts("<hr>")
end
def bold_print(txt)
@@ -477,6 +485,10 @@ module RI
puts("<p>")
end
+ def break_to_newline
+ puts("<br>")
+ end
+
def display_heading(text, level, indent)
level = 4 if level > 4
tag("h#{level}") { text }
diff --git a/object.c b/object.c
index 691a8958d0..c76b27f16e 100644
--- a/object.c
+++ b/object.c
@@ -844,7 +844,7 @@ main_to_s(obj)
/***********************************************************************
- * Document-class: TrueClass
+ * Document-class: TrueClass
*
* The global value <code>true</code> is the only instance of class
* <code>TrueClass</code> and represents a logically true value in