[#29233] [Bug #3085] Time dumping/loading using Psych — Tomo Kazahaya <redmine@...>
Bug #3085: Time dumping/loading using Psych
Issue #3085 has been updated by Aaron Patterson.
2010/4/4 Aaron Patterson <redmine@ruby-lang.org>:
[#29247] [Bug:trunk] matrix test failures — Tanaka Akira <akr@...>
matrix test fails as follows.
[#29255] [Bug #3092] IO Broken with Latest Windows — Charlie Savage <redmine@...>
Bug #3092: IO Broken with Latest Windows
[#29270] Proposal: Module#thunk_method — Charles Oliver Nutter <headius@...>
Many people use define_method solely so they can define a new method
On Apr 5, 2010, at 5:42 PM, Charles Oliver Nutter wrote:
Joshua Ballanco wrote:
Because often the pattern is to do the calculation and then define a
On Apr 6, 2010, at 4:17 PM, Charles Oliver Nutter wrote:
[#29287] [Bug #3102] Rubygems should avoid deprecated yaml api — Aaron Patterson <redmine@...>
Bug #3102: Rubygems should avoid deprecated yaml api
[#29291] [Bug #3104] Random: seeding issues — Marc-Andre Lafortune <redmine@...>
Bug #3104: Random: seeding issues
[#29293] URI.(un)escape deprecated? — Marc-Andre Lafortune <ruby-core-mailing-list@...>
Hi.
2010/4/7 Marc-Andre Lafortune <ruby-core-mailing-list@marc-andre.ca>:
On Thu, Apr 8, 2010 at 5:22 PM, Tanaka Akira <akr@fsij.org> wrote:
> So, Yui, could you please tell us what motivated this change and what
2010/4/9 NARUSE, Yui <naruse@airemix.jp>:
On Thu, Apr 8, 2010 at 10:31 PM, Tanaka Akira <akr@fsij.org> wrote:
2010/4/9 Austin Ziegler <halostatue@gmail.com>:
Hi,
[#29295] [Bug #3105] seg faults and bus errors with ruby 1.8.7 p249 — Greg Ferguson <redmine@...>
Bug #3105: seg faults and bus errors with ruby 1.8.7 p249
[#29313] [Bug #3112] require "yaml" doesn't use psych as default — Usaku NAKAMURA <redmine@...>
Bug #3112: require "yaml" doesn't use psych as default
Issue #3112 has been updated by Yui NARUSE.
On Thu, Apr 08, 2010 at 02:06:55PM +0900, Yui NARUSE wrote:
On 4/8/10, Aaron Patterson <aaron@tenderlovemaking.com> wrote:
First of all, people want compatibility.
I found Aaron added YAML.quick_emit to Psych, thank.
On Sat, Apr 10, 2010 at 07:11:28PM +0900, NARUSE, Yui wrote:
(2010/04/11 8:48), Aaron Patterson wrote:
On Sun, Apr 11, 2010 at 09:20:15AM +0900, NARUSE, Yui wrote:
Issue #3112 has been updated by Anshul Khandelwal.
[#29427] [Bug #3124] SocketError on SnowLeopard (during make test-all) — Aaron Patterson <redmine@...>
Bug #3124: SocketError on SnowLeopard (during make test-all)
[#29447] [RubySpec #3128] Randomness specs — Marc-Andre Lafortune <redmine@...>
RubySpec #3128: Randomness specs
[#29462] [Feature #3131] add Kernel#Hash() method like Kernel#Array() — Suraj Kurapati <redmine@...>
Feature #3131: add Kernel#Hash() method like Kernel#Array()
[#29464] [Bug #3132] …/nokogiri-1.4.1/ext/nokogiri/nokogiri.bundle: [BUG] Bus Error — Ashley Williams <redmine@...>
Bug #3132: …/nokogiri-1.4.1/ext/nokogiri/nokogiri.bundle: [BUG] Bus Error
[#29486] [Bug #3140] gem activation has changed between 1.8 and 1.9 — Aaron Patterson <redmine@...>
Bug #3140: gem activation has changed between 1.8 and 1.9
Issue #3140 has been updated by Aaron Patterson.
Hi,
We are about to ship a version of Ruby with a built in package manager with
On Fri, Jul 2, 2010 at 6:19 PM, Yehuda Katz <wycats@gmail.com> wrote:
On Sat, Jul 03, 2010 at 07:48:04AM +0900, Luis Lavena wrote:
After a brief discussion with Eric Hodel about this, there are a few questions before we can figure out how to solve this:
Is there any comment on this? This is a big bug in 1.9.2 that we'd like to get fixed as soon as we can, but I need some input on it.
I wrote this original code in gem_prelude.
Hi,
See comment on patch below. Other than my comments, I'm fine with this.
Since no one has responded, nobu, can you go ahead and commit it?
Issue #3140 has been updated by Yusuke Endoh.
Issue #3140 has been updated by Yusuke Endoh.
> I've commited the patch to trunk.
Hi,
> Roger, could you re-try to build from scratch? ould you apply
> I'll try with 1_9_2 next.
2010/7/14 Roger Pack <rogerdpack2@gmail.com>:
On Sun, Jul 11, 2010 at 10:23 AM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
Uh-oh, rc2 has been released.
On Sun, Jul 11, 2010 at 12:26 PM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
Issue #3140 has been updated by Yehuda Katz.
Hi,
Hi,
> If you 'gem install mongrel' on 1.9, it will fail (for a valid reason). The directory is not removed because that would prevent users from debugging the build process by reading 'gem_make.out' that is left there for this purpose.
[#29528] [Bug #3150] net/https peer verification doesn't do anything — Hongli Lai <redmine@...>
Bug #3150: net/https peer verification doesn't do anything
[#29578] [Bug #3163] SyntaxError when using variable which is also a method in current scope with a Symbol argument — Benoit Daloze <redmine@...>
Bug #3163: SyntaxError when using variable which is also a method in current scope with a Symbol argument
Issue #3163 has been updated by caleb clausen.
On 18 April 2010 02:06, caleb clausen <redmine@ruby-lang.org> wrote:
On 4/17/10, Benoit Daloze <eregontp@gmail.com> wrote:
On 18.04.10 04:34, Caleb Clausen wrote:
On 4/17/10, Kornelius Kalnbach <murphy@rubychan.de> wrote:
On 17.04.10 20:26, Benoit Daloze wrote:
>as in a ? b : c.
On 18.04.10 16:10, Benoit Daloze wrote:
[#29601] [Bug #3167] RDoc issues in interactive mode — Benoit Daloze <redmine@...>
Bug #3167: RDoc issues in interactive mode
[#29608] [Bug #3169] RDoc crossref confused by instance and class methods having same name — Marc-Andre Lafortune <redmine@...>
Bug #3169: RDoc crossref confused by instance and class methods having same name
Issue #3169 has been updated by Eric Hodel.
On 19.04.10 05:36, Eric Hodel wrote:
On Apr 18, 2010, at 21:28, Kornelius Kalnbach wrote:
[#29641] [Feature #3176] Thread#priority= should actually do something — caleb clausen <redmine@...>
Feature #3176: Thread#priority= should actually do something
Issue #3176 has been updated by Yusuke Endoh.
> Issue #3176 has been updated by Yusuke Endoh.
On 5/15/10, KOSAKI Motohiro <kosaki.motohiro@gmail.com> wrote:
Issue #3176 has been updated by caleb clausen.
> I tried to make it use pthread_setschedparam on linux. That would seem to be
Issue #3176 has been updated by caleb clausen.
Issue #3176 has been updated by caleb clausen.
[#29670] "include X; include Y" vs "include X, Y" — Daniel Berger <djberg96@...>
Hi,
[#29677] anonymous Module#name returns nil in 1.9 — Ryan Davis <ryand-ruby@...>
Is this intentional?
[#29710] [Bug #3185] File.expand_path repeats forward slashes at the beginning of the path — Brian Ford <redmine@...>
Bug #3185: File.expand_path repeats forward slashes at the beginning of the path
Issue #3185 has been updated by Brian Ford.
[#29745] [Bug #3191] imap exits on login with invalid credentials — Karl Baum <redmine@...>
Bug #3191: imap exits on login with invalid credentials
[#29812] identifying process of show stoppers for 1.9.2 release — Yusuke ENDOH <mame@...>
Hi, all
Yusuke ENDOH wrote:
[#29835] [Bug #3212] ConditionVariable may become inconsistent for interrupted threads — Sylvain Joyeux <redmine@...>
Bug #3212: ConditionVariable may become inconsistent for interrupted threads
Issue #3212 has been updated by Sylvain Joyeux.
Hi,
On 5/5/10, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
On 5/6/10, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
[#29845] [Bug #3215] Windows: IO.popen returns "handle is invalid" — Christian Höltje <redmine@...>
Bug #3215: Windows: IO.popen returns "handle is invalid"
[#29863] [Bug #3216] #join in thwait.rb only waits for first thread — Roger Pack <redmine@...>
Bug #3216: #join in thwait.rb only waits for first thread
[#29868] [Bug:trunk] assert now passes non-boolean result — Nobuyoshi Nakada <nobu@...>
Hi,
Issue #3219 has been updated by caleb clausen.
[#29874] [Bug #3220] bug in gc.c — Aaron Patterson <redmine@...>
Bug #3220: bug in gc.c
[ruby-core:29789] Re: [Bug #3140] gem activation has changed between 1.8 and 1.9
See comment on patch below. Other than my comments, I'm fine with this.
Eric / Rich, could you weigh in?
- Evan
On Apr 25, 2010, at 11:11 AM, Nobuyoshi Nakada wrote:
> Hi,
>
> At Fri, 16 Apr 2010 03:08:27 +0900,
> Evan Phoenix wrote in [ruby-core:29537]:
>> This moves the RubyGem custom require into the prelude and
>> triggers the full loading of RubyGems itself if the normal
>> require raises a LoadError. It fixes the problem because the
>> highest version gems are no longer pushed on $LOAD_PATH,
>> allowing RubyGems to activate gems and the proper
>> dependencies.
>
> I don't like the duplication, so changed to keep #require
> staying in custom_require.rb and introduce Gem.try_activate.
>
>
> diff --git c/common.mk i/common.mk
> index 36174c3..30b31c8 100644
> --- c/common.mk
> +++ i/common.mk
> @@ -733,7 +733,9 @@ known_errors.inc: $(srcdir)/template/known_errors.inc.tmpl $(srcdir)/defs/known_
> miniprelude.c: $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb
> $(BASERUBY) -I$(srcdir) $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb $@
>
> -prelude.c: $(srcdir)/tool/compile_prelude.rb $(RBCONFIG) $(srcdir)/lib/rubygems/defaults.rb $(PRELUDE_SCRIPTS) $(PREP)
> +prelude.c: $(srcdir)/tool/compile_prelude.rb $(RBCONFIG) \
> + $(srcdir)/lib/rubygems/defaults.rb $(srcdir)/lib/rubygems/custom_require.rb \
> + $(PRELUDE_SCRIPTS) $(PREP)
> $(COMPILE_PRELUDE) $(PRELUDE_SCRIPTS) $@
>
> golf_prelude.c: $(srcdir)/tool/compile_prelude.rb $(RBCONFIG) $(srcdir)/prelude.rb $(srcdir)/golf_prelude.rb $(PREP)
> diff --git c/gem_prelude.rb i/gem_prelude.rb
> index 71f30bd..09b8f3a 100644
> --- c/gem_prelude.rb
> +++ i/gem_prelude.rb
> @@ -1,4 +1,3 @@
> -# depends on: array.rb dir.rb env.rb file.rb hash.rb module.rb regexp.rb
> # vim: filetype=ruby
>
> # NOTICE: Ruby is during initialization here.
> @@ -13,7 +12,8 @@ if defined?(Gem) then
> module Kernel
>
> def gem(gem_name, *version_requirements)
> - Gem.push_gem_version_on_load_path(gem_name, *version_requirements)
> + Gem::QuickLoader.load_full_rubygems_library
> + gem gem_name, *version_requirements
> end
> private :gem
> end
> @@ -133,29 +133,27 @@ if defined?(Gem) then
> end
>
> module QuickLoader
> -
> - @loaded_full_rubygems_library = false
> -
> def self.load_full_rubygems_library
> - return if @loaded_full_rubygems_library
> + return @loaded_full_rubygems_library if defined?(@loaded_full_rubygems_library)
>
> - @loaded_full_rubygems_library = true
> + @loaded_full_rubygems_library = false
>
> class << Gem
> undef_method(*Gem::GEM_PRELUDE_METHODS)
> - undef_method :const_missing
> - undef_method :method_missing
> - end
> -
> - Kernel.module_eval do
> - undef_method :gem if method_defined? :gem
> end
>
> $".delete path_to_full_rubygems_library
> if $".any? {|path| path.end_with?('/rubygems.rb')}
> raise LoadError, "another rubygems is already loaded from #{path}"
> end
> +
> + verbose, debug = $VERBOSE, $DEBUG
> + $VERBOSE = $DEBUG = nil
> +
> require 'rubygems'
> + @loaded_full_rubygems_library = true
> + ensure
> + $VERBOSE, $DEBUG = verbose, debug
> end
>
> def self.fake_rubygems_as_loaded
> @@ -177,95 +175,6 @@ if defined?(Gem) then
> end
> end
>
> - GemPaths = {}
> - GemVersions = {}
> -
> - def push_gem_version_on_load_path(gem_name, *version_requirements)
> - if version_requirements.empty?
> - unless GemPaths.has_key?(gem_name) then
> - raise Gem::LoadError, "Could not find RubyGem #{gem_name} (>= 0)\n"
> - end
> -
> - # highest version gems already active
> - return false
> - else
> - if version_requirements.length > 1 then
> - QuickLoader.load_full_rubygems_library
> - return gem(gem_name, *version_requirements)
> - end
> -
> - requirement, version = version_requirements[0].split
> - requirement.strip!
> -
> - if loaded_version = GemVersions[gem_name] then
> - case requirement
> - when ">", ">=" then
> - return false if
> - (loaded_version <=> Gem.integers_for(version)) >= 0
> - when "~>" then
> - required_version = Gem.integers_for version
> -
> - return false if loaded_version.first == required_version.first
> - end
> - end
> -
> - QuickLoader.load_full_rubygems_library
> - gem gem_name, *version_requirements
> - end
> - end
> -
> - def integers_for(gem_version)
> - numbers = gem_version.split(".").collect {|n| n.to_i}
> - numbers.pop while numbers.last == 0
> - numbers << 0 if numbers.empty?
> - numbers
> - end
> -
> - def push_all_highest_version_gems_on_load_path
> - Gem.path.each do |path|
> - gems_directory = File.join(path, "gems")
> -
> - if File.exist?(gems_directory) then
> - Dir.entries(gems_directory).each do |gem_directory_name|
> - next if gem_directory_name == "." || gem_directory_name == ".."
> -
> - next unless gem_name = gem_directory_name[/(.*)-(.*)/, 1]
> - new_version = integers_for($2)
> - current_version = GemVersions[gem_name]
> -
> - if !current_version or (current_version <=> new_version) < 0 then
> - GemVersions[gem_name] = new_version
> - GemPaths[gem_name] = File.join(gems_directory, gem_directory_name)
> - end
> - end
> - end
> - end
> -
> - require_paths = []
> -
> - GemPaths.each_value do |path|
> - if File.exist?(file = File.join(path, ".require_paths")) then
> - paths = File.read(file).split.map do |require_path|
> - File.join path, require_path
> - end
> -
> - require_paths.concat paths
> - else
> - require_paths << file if File.exist?(file = File.join(path, "bin"))
> - require_paths << file if File.exist?(file = File.join(path, "lib"))
> - end
> - end
> -
> - # "tag" the first require_path inserted into the $LOAD_PATH to enable
> - # indexing correctly with rubygems proper when it inserts an explicitly
> - # gem version
> - unless require_paths.empty? then
> - require_paths.first.instance_variable_set(:@gem_prelude_index, true)
> - end
> - # gem directories must come after -I and ENV['RUBYLIB']
> - $:[$:.index{|e|e.instance_variable_defined?(:@gem_prelude_index)}||-1,0] = require_paths
> - end
> -
> def const_missing(constant)
> QuickLoader.load_full_rubygems_library
>
> @@ -285,10 +194,15 @@ if defined?(Gem) then
>
> extend QuickLoader
>
> + def self.try_activate(path) # :nodoc:
> + QuickLoader.load_full_rubygems_library
> + end
> +
> end
Doesn't the try_activate in prelude need to load full rubygems, then call try_activate again so that the proper version is called the first time try_activate is used?
>
> begin
> - Gem.push_all_highest_version_gems_on_load_path
> + require 'lib/rubygems/custom_require.rb'
> +
> Gem::QuickLoader.fake_rubygems_as_loaded
> rescue Exception => e
> puts "Error loading gem paths on load path in gem_prelude"
> diff --git c/lib/rubygems.rb i/lib/rubygems.rb
> index d2214f6..29dd815 100644
> --- c/lib/rubygems.rb
> +++ i/lib/rubygems.rb
> @@ -1020,8 +1020,6 @@ end
>
> module Kernel
>
> - undef gem if respond_to? :gem # defined in gem_prelude.rb on 1.9
> -
> ##
> # Use Kernel#gem to activate a specific version of +gem_name+.
> #
> @@ -1098,13 +1096,34 @@ end
>
> require 'rubygems/config_file'
>
> +class << Gem
> + verbose, debug = $VERBOSE, $DEBUG
> + $VERBOSE = $DEBUG = nil
Why is setting $VERBOSE and $DEBUG needed?
> +
> + ##
> + #
> + # Called from the custom_require to attempt to activate +path+
> + # Internal use only.
> +
> + def try_activate(path) # :doc:
> + spec = Gem.searcher.find(path)
> + return false unless spec
> +
> + Gem.activate(spec.name, "= #{spec.version}")
> + return true
> + end
> +
> +ensure
> + $VERBOSE, $DEBUG = verbose, debug
> +end
> +
> ##
> # Enables the require hook for RubyGems.
> #
> # Ruby 1.9 allows --disable-gems, so we require it when we didn't detect a Gem
> # constant at rubygems.rb load time.
>
> -require 'rubygems/custom_require' if gem_disabled or RUBY_VERSION < '1.9'
> +require 'rubygems/custom_require'
>
> Gem.clear_paths
>
> diff --git c/lib/rubygems/custom_require.rb i/lib/rubygems/custom_require.rb
> index 43b3136..343ad31 100644
> --- c/lib/rubygems/custom_require.rb
> +++ i/lib/rubygems/custom_require.rb
> @@ -4,8 +4,6 @@
> # See LICENSE.txt for permissions.
> #++
>
> -require 'rubygems'
> -
> module Kernel
>
> ##
> @@ -31,8 +29,7 @@ module Kernel
> gem_original_require path
> rescue LoadError => load_error
> if load_error.message.end_with?(path) and
> - spec = Gem.searcher.find(path) then
> - Gem.activate(spec.name, "= #{spec.version}")
> + Gem.try_activate(path) then
> gem_original_require path
> else
> raise load_error
> @@ -42,5 +39,5 @@ module Kernel
> private :require
> private :gem_original_require
>
> -end
> +end unless Kernel.private_method_defined?(:gem_original_require)
>
>
>
> --
> Nobu Nakada
>
>