[#23132] [Bug #1357] Fixing variables into specific CPU registers deemed overrated & may disturb compilers' optimizers — Ollivier Robert <redmine@...>
Bug #1357: Fixing variables into specific CPU registers deemed overrated & may disturb compilers' optimizers
[#23154] [Bug #1363] Wrong value for Hash of NaN — Heesob Park <redmine@...>
Bug #1363: Wrong value for Hash of NaN
Hi,
Hi,
Yukihiro Matsumoto wrote:
[#23168] [Bug #1367] flatten(0) is not consistent with flatten(), flatten(1), etc. — Paul Lewis <redmine@...>
Bug #1367: flatten(0) is not consistent with flatten(), flatten(1), etc.
Issue #1367 has been updated by Paul Lewis.
[#23174] [Feature #1371] FTPS Implicit — Daniel Parker <redmine@...>
Feature #1371: FTPS Implicit
[#23193] Regexp Encoding — James Gray <james@...>
I'm trying to document the Encoding Regexp objects receive for the
[#23194] [Feature #1377] Please provide constant File::NOATIME — Johan Walles <redmine@...>
Feature #1377: Please provide constant File::NOATIME
[#23231] What do you think about changing the return value of Kernel#require and Kernel#load to the source encoding of the required file? — =?ISO-8859-15?Q?Wolfgang_N=E1dasi-Donner?= <ed.odanow@...>
Dear Ruby developers and users!
Wolfgang N叩dasi-Donner wrote:
Wolfgang N叩dasi-Donner wrote:
Michael Neumann schrieb:
[#23252] [Bug #1392] Object#extend leaks memory on Ruby 1.9.1 — Muhammad Ali <redmine@...>
Bug #1392: Object#extend leaks memory on Ruby 1.9.1
[#23267] StringIO: RubySpec violation — Hongli Lai <hongli@...99.net>
I ran RubySpec against the 1.8.6-p368 release. It seems that
[#23289] [Bug #1399] Segmentation fault is raised when you use a postgres gem — Marcel Keil <redmine@...>
Bug #1399: Segmentation fault is raised when you use a postgres gem
[#23297] Ruby Oniguruma question — Ralf Junker <ralfjunker@...>
I see that the Ruby source code contains modified and more recent version of the Oniguruma regular expression library.
[#23305] [Bug #1403] Process.daemon should do a double fork to avoid problems with controlling terminals — Gary Wright <redmine@...>
Bug #1403: Process.daemon should do a double fork to avoid problems with controlling terminals
Hi,
[#23311] [Bug #1404] Net::HTTP::Post failing when a post field contains ":" — Ignacio Martín <redmine@...>
Bug #1404: Net::HTTP::Post failing when a post field contains ":"
[#23318] [Feature #1408] 0.1.to_r not equal to (1/10) — Heesob Park <redmine@...>
Feature #1408: 0.1.to_r not equal to (1/10)
Issue #1408 has been updated by tadayoshi funaba.
Hi,
Hi.
Issue #1408 has been updated by Marc-Andre Lafortune.
Issue #1408 has been updated by Roger Pack.
[#23321] [Bug #1412] 1.8.7-p160 extmk.rb fails when cross compiling — Luis Lavena <redmine@...>
Bug #1412: 1.8.7-p160 extmk.rb fails when cross compiling
[ruby-core:23155] ENC_CODERANGE_7BIT is a bad optimisation
In my opinion, ENC_CODERANGE_7BIT is a bad optimisation. Unless it is
recalculated correctly every time a string is built or modified, it leads to
bizarre behaviour. A number of ad-hoc fixes have been made to date, and yet
there are still core String methods which have the problem (see one example
below - I have not bothered to test them exhaustively, because I don't think
that is the right solution).
The biggest problem I see is: if Ruby's own implementation can't get it
right, what chance is there for extension libraries to get it right too?
I can suggest a number of ways it could be made better.
1. Don't store this flag. Calculate this property of the string only when it
is needed.
2. If you want to cache this property, then have three states: unknown,
7BIT, 8BIT. Any action which modifies the string then just needs to set the
state to unknown, which is cheaper than recalculating the state. (However
there is still the danger that an external library will forget to clear the
flag)
3. Don't include this state when calculating the hash value of a string.
However, if the flag is wrong it will then show itself in even more
insiduous ways, such as two strings being treated as having compatible
encodings when they don't, or vice versa.
Regards,
Brian.
$ ruby19 -v
ruby 1.9.2dev (2009-04-07 trunk 23150) [i686-linux]
$ cat chop.rb
#encoding: utf-8
a = "a"
b = "a
b.chop!
h = {a => 1}
p h.key?(a) #true
p h.key?(b) #false !!
p a #"a"
p b #"a"
p a.encoding
p b.encoding
p a == b #true
p a.hash
p b.hash
$ ruby19 chop.rb
true
false
"a"
"a"
#<Encoding:UTF-8>
#<Encoding:UTF-8>
true
1071603097
1071603096