[#7809] uninit bug in yaml/emitter.c — "Pat Eyler" <rubypate@...>
During our hacking night, we also looked at an UNINIT bug in yaml/emitter.c
[#7813] :!~ not a symbol — noreply@...
Bugs item #4344, was opened at 2006-05-03 17:41
[#7818] (security-related) patch to ALLOC macros to prevent integer overflow bugs — "Dominique Brezinski" <dominique.brezinski@...>
While fixing the integer overflow in rb_ary_fill(), it occurred to me
[#7833] segfault on Proc#call after setting a trace_func — Mauricio Fernandez <mfp@...>
$ cat bug2.rb
[#7843] Possible YAMl bug in 1.8.4 — Damphyr <damphyr@...>
OK, while parsing the td2 data from the ruby-lang website we stumbled on
Its probably a bug. I'm not familiar with the specifics, but Ruby
[#7858] Ruby threads working with native threads — "Francis Cianfrocca" <garbagecat10@...>
I recently wrote a network-event extension for Ruby ("eventmachine" in
[#7865] Strange interactions between Struct and 'pp' — noreply@...
Bugs item #4457, was opened at 2006-05-12 17:13
[#7872] Nonblocking socket-connect — "Francis Cianfrocca" <garbagecat10@...>
All, I needed a nonblocking socket connect for my asynchronous-event
In article <3a94cf510605140559l7baa0205le341dac4f47d424b@mail.gmail.com>,
How about introducing the method Socket#set_nonblocking, or alternatively
Hi,
Well, it's ok then. I'm comfortable adding in the nonblocking
Hi,
How about Socket#nbconnect and Socket#nbaccept?
On 5/15/06, Francis Cianfrocca <garbagecat10@gmail.com> wrote:
In article <1147709691.180288.28647.nullmailer@x31.priv.netlab.jp>,
[#7881] Segfault on x86_64 when built with -O0 in CFLAGS — noreply@...
Bugs item #4491, was opened at 2006-05-16 12:46
[#7882] reproducible bug in DRb on OSX — cremes.devlist@...
I've been tearing my hair out the last few days trying to track down
[#7909] SCRIPT_LINES__ issue when loading a file more than once — Mauricio Fernandez <mfp@...>
SCRIPT_LINES__ is an obscure feature very few people care about, but I happen
On Fri, May 19, 2006 at 06:46:05PM +0900, Mauricio Fernandez wrote:
Hi,
[#7923] Nonblocking accept — "Francis Cianfrocca" <garbagecat10@...>
Thanks to the Matz and colleagues for adding the *_nonblock functions. They
[#7928] set_trace_func: binding has wrong self value for return events — =?ISO-8859-15?Q?Florian_Gro=DF?= <florgro@...>
Moin.
Florian Growrote:
[ ruby-Bugs-4391 ] buggy tr_s in jcode
Bugs item #4391, was opened at 2006-05-08 22:34
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=4391&group_id=426
Category: Standard Library
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Nicola Piccinini (pic)
Assigned to: Nobody (None)
Summary: buggy tr_s in jcode
Initial Comment:
tr_s doesn't work as expected:
$ irb
irb(main):001:0> "hello".tr_s('el','*')
=> "h*o"
irb(main):002:0> require 'jcode'
=> true
irb(main):003:0> "hello".tr_s('el','*')
=> "he*o"
irb(main):004:0> quit
$ ruby -v
ruby 1.8.4 (2005-12-24) [i486-linux]
I'm a newbie in Ruby world, anyway I wrote a "patch" and relative tests for better explaining the problem:
#- "patch" -----------------------------------------
require 'jcode'
class String
# dirty trick:
# transforms {'e' => '*, 'l' => '*'} to { 'e' => '*'} and
# call self.tr!('l','e')
def __adjust_values_repetitions_for_tr_s(h)
v = {}
h.each_key do |k|
if v.has_key?(h[k])
self.tr!(k, v[h[k]])
h.delete(k)
else
v[h[k]] = k
end
end
end
private :__adjust_values_repetitions_for_tr_s
def tr_s!(from, to)
return self.delete!(from) if to.length == 0
# pattern = SqueezePatternCache[from] ||= /([#{_regex_quote(from)}])\1+/
pattern = SqueezePatternCache[from] ||= /([#{_regex_quote(from)}])\1*/
if from[0] == ?^
last = /.$/.match(to)[0]
self.gsub!(pattern, last)
else
h = HashCache[from + "1-0" + to] ||= expand_ch_hash(from, to)
__adjust_values_repetitions_for_tr_s(h)
self.gsub!(pattern) do h[$1] end
end
end
end
#- test --------------------------------------------
require 'test/unit'
class JcodePatchTest < Test::Unit::TestCase
def test_tr_s
assert_equal('hero', "hello".tr_s('l','r'))
assert_equal('h*o', "hello".tr_s('el','*'))
assert_equal('hhxo', "hello".tr_s('el','hx'))
assert_equal('tru*ero*ero*', "trullalerolerola".tr_s('al','*'))
assert_equal('trualaeroaeroal', "trullalerolerola".tr_s('al','la'))
assert_equal('trurtrerorerort', "trullalerolerola".tr_s('al','tr'))
assert_equal('t*u*e*e*', "trullalerolerola".tr_s('alro','*'))
assert_equal('t*u*', "trullalerolerola".tr_s('alero','*'))
end
end
----------------------------------------------------------------------
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=4391&group_id=426