Hi all –
As Yugui announced in [ruby-talk:363558], we released Ruby-1.9.2-
preview3.
We are planning to release 1.9.2 in July. To improve that release,
we expect your contribution; please test your product, your gem, or
any your code with 1.9.2-preview3.
I believe this process will not only improve 1.9.2 release but also
help your code be 1.9-ready.
If your code does not run as expected, check NEWS [1], especially,
“Language changes” and “Compatibility issues” sections. And if you
cannot find any spec change that seems to require you fix your code,
please register a ticket to redmine [2] or send a mail to ruby-core
[3].
[1] http://svn.ruby-lang.org/repos/ruby/tags/v1_9_2_preview3/NEWS
[2] open http://redmine.ruby-lang.org/projects/show/ruby-19,
register yourself (if you have not done so yet), and create
“new ticket”.
[3] prepend “[Bug:trunk]” to subject.
ex) [Bug:trunk] 1.9.2-preview3 spewed fire
This mail will be automatically registered to redmine.
For your convenience, I tell you two well-known incompatibilities:
-
\d, \s and \w in Regexp does match only ASCII characters.
Especially, \w does NOT match with accented character, umlaut,
etc. In other words, it behaves the same as 1.8.coding: UTF-8
p(/\w/ =~ “a”) #=> nil
If you want Unicode sensitive character class, you can use
\p{Digit} instead of \d, \p{Space} instead of \s, and \p{Word}
or [\w\P{ASCII}] instead of \w. -
$LOAD_PATH does NOT include “.”. This means, it will fail to
require a path that is relative to current directory:$ cat my_project/foo.rb
require “my_project/bar”
class Foo; end$ cat my_project/bar.rb
class Bar; end$ ruby-1.9.2-preview3 my_project/foo.rb
my_project/foo.rb:1:inrequire': no such file to load -- my_project/bar (LoadError) from my_project/foo.rb:1:in
’You can use Kernel#require_relative instead of Kernel#require:
require_relative “bar”
class Foo; endor, you can add your project home path to $LOAD_PATH:
$LOAD_PATH << File.dirname(File.dirname(FILE))
require “my_project/bar”
class Foo; end
I give you advance notice; we don’t promise to fix all tickets you
register. Even if it is actually a bug, we may not fix it if there
is any workaround. This is because we have no enough resource nor
time. But we will make an effort. I hope you’ll understand.
Your contribution would be deeply appreciated.
Thanks,