summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/rdoc/markup/simple_markup/preprocess.rb7
-rw-r--r--lib/rdoc/parsers/parse_c.rb21
-rw-r--r--lib/rdoc/ri/ri_options.rb4
4 files changed, 34 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 62851d7de6..5c2adc0db3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Feb 19 02:34:28 2004 Dave Thomas <dave@pragprog.com>
+
+ * lib/rdoc/markup/simple_markup/preprocess.rb (SM::PreProcess::include_file):
+ Only strip comment markers if all lines start with comments.
+
Thu Feb 19 03:05:49 2004 Minero Aoki <aamine@loveruby.net>
* ext/strscan/strscan.c: StringScanner#restsize is obsolete;
diff --git a/lib/rdoc/markup/simple_markup/preprocess.rb b/lib/rdoc/markup/simple_markup/preprocess.rb
index dbf4b216ca..08ac66139b 100644
--- a/lib/rdoc/markup/simple_markup/preprocess.rb
+++ b/lib/rdoc/markup/simple_markup/preprocess.rb
@@ -45,7 +45,12 @@ module SM
def include_file(name, indent)
if (full_name = find_include_file(name))
content = File.open(full_name) {|f| f.read}
- res = content.gsub(/^#?/, indent)
+ # strip leading '#'s, but only if all lines start with them
+ if content =~ /^[^#]/
+ content.gsub(/^/, indent)
+ else
+ content.gsub(/^#?/, indent)
+ end
else
$stderr.puts "Couldn't find file to include: '#{name}'"
''
diff --git a/lib/rdoc/parsers/parse_c.rb b/lib/rdoc/parsers/parse_c.rb
index d491e3d88d..d97e08bf4d 100644
--- a/lib/rdoc/parsers/parse_c.rb
+++ b/lib/rdoc/parsers/parse_c.rb
@@ -44,6 +44,27 @@
#
# C classes can be diagramed (see /tc/dl/ruby/ruby/error.c), and RDoc
# integrates C and Ruby source into one tree
+ #
+ # The comment blocks may include special direcives:
+ #
+ # [Document-class: <i>name</i>]
+ # This comment block is documentation for the given class. Use this
+ # when the <tt>Init_xxx</tt> method is not named after the class.
+ #
+ # [Document-method: <i>name</i>]
+ # This comment documents the named method. Use when RDoc cannot outomatically
+ # find the method from it's declaration
+ #
+ # [call-seq: <i>text up to an empty line</i>]
+ # Because C source doesn't give descripive names to Ruby-level parameters,
+ # you need to document the calling sequence explicitly
+ #
+ # In additon, RDoc assumes by default that the C method implementing a
+ # Ruby function is in the same source file as the rb_define_method call.
+ # If this isn't the case, add the comment
+ #
+ # rb_define_method(....); // in: filename
+ #
# Classes and modules built in to the interpreter. We need
# these to define superclasses of user objects
diff --git a/lib/rdoc/ri/ri_options.rb b/lib/rdoc/ri/ri_options.rb
index 0e720a9c64..8aec57e9a1 100644
--- a/lib/rdoc/ri/ri_options.rb
+++ b/lib/rdoc/ri/ri_options.rb
@@ -120,7 +120,7 @@ module RI
ri zip
Note that shell quoting may be required for method names
- containing puncuation:
+ containing punctuation:
ri 'Array.[]'
ri compact\\!
@@ -150,7 +150,7 @@ module RI
end
puts
end
- puts "Options may also be passed in the 'RI' environment varaible"
+ puts "Options may also be passed in the 'RI' environment variable"
exit 0
end
end