mirror of
https://github.com/ruby/ruby.git
synced 2025-09-16 00:54:01 +02:00
Merge r14565 and r14567 from trunk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b3b6136faf
commit
aca88f87e5
3 changed files with 52 additions and 17 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
Mon Dec 24 16:18:57 2007 Eric Hodel <drbrain@segment7.net>
|
||||||
|
|
||||||
|
* lib/rdoc/ri/ri_options.rb: Fix ri --help listing of gem ri paths.
|
||||||
|
Merge of r14567 and r14569 from trunk.
|
||||||
|
|
||||||
|
* lib/rdoc/ri/ri_paths.rb: Fix duplication of ri data for multiple
|
||||||
|
gems. Merge of r14567 from trunk
|
||||||
|
|
||||||
Mon Dec 24 12:35:03 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Mon Dec 24 12:35:03 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* win{32,ce}/Makefile.sub (MFLAGS): defaulted to -l.
|
* win{32,ce}/Makefile.sub (MFLAGS): defaulted to -l.
|
||||||
|
|
|
@ -62,9 +62,10 @@ module RI
|
||||||
(RI::Paths::HOMEDIR || "No ~/.rdoc found") ],
|
(RI::Paths::HOMEDIR || "No ~/.rdoc found") ],
|
||||||
|
|
||||||
[ "--gems", nil, nil,
|
[ "--gems", nil, nil,
|
||||||
"Include documentation from Rubygems:\n " +
|
"Include documentation from RubyGems:\n" +
|
||||||
(RI::Paths::GEMDIRS ? "#{Gem.path}/doc/*/ri" :
|
(RI::Paths::GEMDIRS ?
|
||||||
"No Rubygems ri found.") ],
|
Gem.path.map { |dir| " #{dir}/doc/*/ri" }.join("\n") :
|
||||||
|
"No Rubygems ri found.") ],
|
||||||
|
|
||||||
[ "--format", "-f", "<name>",
|
[ "--format", "-f", "<name>",
|
||||||
"Format to use when displaying output:\n" +
|
"Format to use when displaying output:\n" +
|
||||||
|
@ -116,7 +117,8 @@ module RI
|
||||||
def OptionList.error(msg)
|
def OptionList.error(msg)
|
||||||
$stderr.puts
|
$stderr.puts
|
||||||
$stderr.puts msg
|
$stderr.puts msg
|
||||||
$stderr.puts "\nFor help on options, try 'ri --help'\n\n"
|
name = File.basename $PROGRAM_NAME
|
||||||
|
$stderr.puts "\nFor help on options, try '#{name} --help'\n\n"
|
||||||
exit 1
|
exit 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -136,7 +138,11 @@ module RI
|
||||||
RI::Paths::HOMEDIR
|
RI::Paths::HOMEDIR
|
||||||
]
|
]
|
||||||
|
|
||||||
directories << "#{Gem.path}/doc/*/ri" if RI::Paths::GEMDIRS
|
if RI::Paths::GEMDIRS then
|
||||||
|
Gem.path.each do |dir|
|
||||||
|
directories << "#{dir}/doc/*/ri"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
directories = directories.join("\n ")
|
directories = directories.join("\n ")
|
||||||
|
|
||||||
|
@ -157,16 +163,16 @@ module RI
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
ri File
|
#{name} File
|
||||||
ri File.new
|
#{name} File.new
|
||||||
ri F.n
|
#{name} F.n
|
||||||
ri zip
|
#{name} zip
|
||||||
|
|
||||||
Note that shell quoting may be required for method names
|
Note that shell quoting may be required for method names
|
||||||
containing punctuation:
|
containing punctuation:
|
||||||
|
|
||||||
ri 'Array.[]'
|
#{name} 'Array.[]'
|
||||||
ri compact\\!
|
#{name} compact\\!
|
||||||
|
|
||||||
By default ri searches for documentation in the following
|
By default ri searches for documentation in the following
|
||||||
directories:
|
directories:
|
||||||
|
@ -180,8 +186,8 @@ module RI
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
if short_form
|
if short_form
|
||||||
puts "For help on options, type 'ri -h'"
|
puts "For help on options, type '#{name} -h'"
|
||||||
puts "For a list of classes I know about, type 'ri -c'"
|
puts "For a list of classes I know about, type '#{name} -c'"
|
||||||
else
|
else
|
||||||
puts "Options:\n\n"
|
puts "Options:\n\n"
|
||||||
OPTION_LIST.each do|long, short, arg, desc|
|
OPTION_LIST.each do|long, short, arg, desc|
|
||||||
|
|
|
@ -44,8 +44,29 @@ module RI
|
||||||
|
|
||||||
begin
|
begin
|
||||||
require 'rubygems'
|
require 'rubygems'
|
||||||
GEMDIRS = Dir["#{Gem.path}/doc/*/ri"]
|
|
||||||
GEMDIRS.each { |path| RI::Paths::PATH << path }
|
# HACK dup'd from Gem.latest_partials and friends
|
||||||
|
all_paths = []
|
||||||
|
|
||||||
|
all_paths = Gem.path.map do |dir|
|
||||||
|
Dir[File.join(dir, 'doc', '*', 'ri')]
|
||||||
|
end.flatten
|
||||||
|
|
||||||
|
ri_paths = {}
|
||||||
|
|
||||||
|
all_paths.each do |dir|
|
||||||
|
base = File.basename File.dirname(dir)
|
||||||
|
if base =~ /(.*)-((\d+\.)*\d+)/ then
|
||||||
|
name, version = $1, $2
|
||||||
|
ver = Gem::Version.new version
|
||||||
|
if ri_paths[name].nil? or ver > ri_paths[name][0] then
|
||||||
|
ri_paths[name] = [ver, dir]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
GEMDIRS = ri_paths.map { |k,v| v.last }.sort
|
||||||
|
GEMDIRS.each { |dir| RI::Paths::PATH << dir }
|
||||||
rescue LoadError
|
rescue LoadError
|
||||||
GEMDIRS = nil
|
GEMDIRS = nil
|
||||||
end
|
end
|
||||||
|
@ -55,7 +76,7 @@ module RI
|
||||||
|
|
||||||
def self.path(use_system, use_site, use_home, use_gems, *extra_dirs)
|
def self.path(use_system, use_site, use_home, use_gems, *extra_dirs)
|
||||||
path = raw_path(use_system, use_site, use_home, use_gems, *extra_dirs)
|
path = raw_path(use_system, use_site, use_home, use_gems, *extra_dirs)
|
||||||
return path.select { |path| File.directory? path }
|
return path.select { |directory| File.directory? directory }
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns the selected documentation directories including nonexistent
|
# Returns the selected documentation directories including nonexistent
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue