[#31647] [Backport #3666] Backport of r26311 (Bug #2587) — Luis Lavena <redmine@...>

Backport #3666: Backport of r26311 (Bug #2587)

13 messages 2010/08/07

[#31666] [Bug #3677] unable to run certain gem binaries' in windows 7 — Roger Pack <redmine@...>

Bug #3677: unable to run certain gem binaries' in windows 7

10 messages 2010/08/10

[#31676] [Backport #3680] Splatting calls to_ary instead of to_a in some cases — Tomas Matousek <redmine@...>

Backport #3680: Splatting calls to_ary instead of to_a in some cases

10 messages 2010/08/11

[#31681] [Bug #3683] getgrnam on computer with NIS group (+)? — Rocky Bernstein <redmine@...>

Bug #3683: getgrnam on computer with NIS group (+)?

13 messages 2010/08/11

[#31843] Garbage Collection Question — Asher <asher@...>

This question is no doubt a function of my own lack of understanding, but I think that asking it will at least help some other folks see what's going on with the internals during garbage collection.

17 messages 2010/08/25
[#31861] Re: Garbage Collection Question — Roger Pack <rogerdpack2@...> 2010/08/26

> The question in short: when an object goes out of scope and has no

[#31862] Re: Garbage Collection Question — Asher <asher@...> 2010/08/26

Right - so how does a pointer ever get off the stack?

[#31873] Re: Garbage Collection Question — Kurt Stephens <ks@...> 2010/08/27

On 8/26/10 11:51 AM, Asher wrote:

[#31894] Re: Garbage Collection Question — Asher <asher@...> 2010/08/27

I very much appreciate the response, and this is helpful in describing the narrative, but it's still a few steps behind my question - but it may very well have clarified some points that help us get there.

[#31896] Re: Garbage Collection Question — Evan Phoenix <evan@...> 2010/08/27

You have introduced something called a "root node" without defining it. What do you mean by this?

[#31885] Avoiding $LOAD_PATH pollution — Eric Hodel <drbrain@...7.net>

Last year Nobu asked me to propose an API for adding an object to

21 messages 2010/08/27

[#31947] not use system for default encoding — Roger Pack <rogerdpack2@...>

It strikes me as a bit "scary" to use system locale settings to

19 messages 2010/08/30

[#31971] Change Ruby's License to BSDL + Ruby's dual license — "NARUSE, Yui" <naruse@...>

Ruby's License will change to BSDL + Ruby's dual license

16 messages 2010/08/31

[ruby-core:31915] [Ruby 1.9-Bug#3758][Open] require Raises Encoding::CompatibilityError for Invalid, Non-ASCII Feature Names

From: Run Paint Run Run <redmine@...>
Date: 2010-08-28 21:16:29 UTC
List: ruby-core #31915
Bug #3758: require Raises Encoding::CompatibilityError for Invalid, Non-ASCII Feature Names
http://redmine.ruby-lang.org/issues/show/3758

Author: Run Paint Run Run
Status: Open, Priority: Low
Category: lib
ruby -v: ruby 1.9.3dev (2010-08-28 trunk 29127) [i686-linux]

When trying to require a feature with a non-ASCII name that does not correspond to an installed gem or a file in $LOAD_PATH, this happens:

  run@paint:~/git/ruby →  ./ruby -e 'require "∞"'
  <internal:lib/rubygems/custom_require>:33:in `end_with?': incompatible character encodings: ASCII- 8BIT and UTF-8 (Encoding::CompatibilityError)
        from <internal:lib/rubygems/custom_require>:33:in `rescue in require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from -e:1:in `<main>'

The attached is a simplistic fix, but it assumes both encodings are ASCII-compatible; the elegant solution evades me.


----------------------------------------
http://redmine.ruby-lang.org

Attachments (1)

custom-require.rb.patch (536 Bytes, text/x-diff)
diff --git a/lib/rubygems/custom_require.rb b/lib/rubygems/custom_require.rb
index 480cb7e..afadc99 100644
--- a/lib/rubygems/custom_require.rb
+++ b/lib/rubygems/custom_require.rb
@@ -28,7 +28,8 @@ module Kernel
   def require(path) # :doc:
     gem_original_require path
   rescue LoadError => load_error
-    if load_error.message.end_with?(path)
+    message = load_error.message
+    if message.end_with?(path.force_encoding(message.encoding))
       if Gem.try_activate(path)
         return gem_original_require(path)
       end

In This Thread

Prev Next