From: "h.shirosaki (Hiroshi Shirosaki)" Date: 2013-03-29T19:26:14+09:00 Subject: [ruby-core:53820] [ruby-trunk - Bug #8165] Problems with require Issue #8165 has been updated by h.shirosaki (Hiroshi Shirosaki). File 0001-load.c-fix-require-with-non-ascii-path.patch added One more issue seems string encoding. When looking up a feature name in rb_feature_p(), encoding information lacks. So `short_feature' should not have encoding. If encoding of the two non-ascii strings is different, hash value would be different. load.c: rb_feature_p() feature_val = rb_str_new(feature, len); // not have encoding this_feature_index = rb_hash_lookup(features_index, feature_val); I've attached a patch. Tested on both trunk and 2.0.0 branch. ruby 2.1.0dev (2013-03-29 trunk 39991) [x86_64-linux] ruby 2.0.0p100 (2013-03-27 revision 39954) [x86_64-linux] ---------------------------------------- Bug #8165: Problems with require https://bugs.ruby-lang.org/issues/8165#change-38028 Author: Krugloff (Alexandr Kruglov) Status: Assigned Priority: Normal Assignee: tarui (Masaya Tarui) Category: Target version: current: 2.1.0 ruby -v: ruby 2.0.0-p0 Require doesn't work correctly if path contains cyrillic. require '/home/mak/test.rb' #-> true require '/home/mak/test.rb' #-> false require '/home/mak/��������������/test.rb' #-> true require '/home/mak/��������������/test.rb' #-> true -- http://bugs.ruby-lang.org/