diff options
| author | dave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-08-02 02:59:17 +0000 |
|---|---|---|
| committer | dave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-08-02 02:59:17 +0000 |
| commit | 1529d85023679ee3ff1acf198ac424eb478630d3 (patch) | |
| tree | f9421cbcec57b190bf571a966b4350af6643e897 | |
| parent | 90c032079084ece32c25f3698fd23835d395ac25 (diff) | |
| download | ruby-1529d85023679ee3ff1acf198ac424eb478630d3.tar.gz ruby-1529d85023679ee3ff1acf198ac424eb478630d3.tar.xz ruby-1529d85023679ee3ff1acf198ac424eb478630d3.zip | |
Bugfix: looping on some toplevel symbols. Added SWIG support
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@6731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 10 | ||||
| -rw-r--r-- | lib/rdoc/code_objects.rb | 2 | ||||
| -rw-r--r-- | lib/rdoc/parsers/parse_c.rb | 7 |
3 files changed, 15 insertions, 4 deletions
@@ -1,3 +1,13 @@ +Mon Aug 2 11:53:06 2004 Dave Thomas <dave@pragprog.com> + + * lib/rdoc/code_objects.rb (RDoc::Context::find_symbol): Fix infinite recursion + looking up some top level symbols (batsman) + +Mon Aug 2 11:48:29 2004 Dave Thomas <dave@pragprog.com> + + * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Allow '.'s in + variable names to support SWIG generated files (Hans Fugal) + Sat Jul 31 23:08:00 2004 Yukihiro Matsumoto <matz@ruby-lang.org> * eval.c (is_defined): stupid mistakes fixed. [ruby-dev:24006] diff --git a/lib/rdoc/code_objects.rb b/lib/rdoc/code_objects.rb index 9bacab8f6..82872db14 100644 --- a/lib/rdoc/code_objects.rb +++ b/lib/rdoc/code_objects.rb @@ -325,7 +325,7 @@ module RDoc result = nil case symbol when /^::(.*)/ - result = toplevel.find_symbol(symbol) + result = toplevel.find_symbol($1) when /::/ modules = symbol.split(/::/) unless modules.empty? diff --git a/lib/rdoc/parsers/parse_c.rb b/lib/rdoc/parsers/parse_c.rb index 31c110640..c42fbb2e1 100644 --- a/lib/rdoc/parsers/parse_c.rb +++ b/lib/rdoc/parsers/parse_c.rb @@ -254,7 +254,8 @@ module RDoc handle_class_module(var_name, "module", class_name, nil, nil) end - @body.scan(/(\w+)\s* = \s*rb_define_class + # The '.' lets us handle SWIG-generated files + @body.scan(/([\w\.]+)\s* = \s*rb_define_class \( \s*"(\w+)", \s*(\w+)\s* @@ -280,7 +281,7 @@ module RDoc handle_class_module(var_name, "module", class_name, nil, in_module) end - @body.scan(/(\w+)\s* = \s*rb_define_class_under + @body.scan(/([\w\.]+)\s* = \s*rb_define_class_under \( \s*(\w+), \s*"(\w+)", @@ -304,7 +305,7 @@ module RDoc module_function | private_method ) - \(\s*(\w+), + \(\s*([\w\.]+), \s*"([^"]+)", \s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?, \s*(-?\w+)\s*\) |
