Hello folks,
in the following two cases irb fails (I’ve removed spaces from the
=~/^irb/ lines to prevent line breaks):
$ irb
irb(main):001:0>“ahoj”.split(//).join(’|’)
=> “a|h|o|j”
irb(main):002:0>“ahoj”.split(/(?<=(?![Cc][Hh]).)/).join(’|’)
SyntaxError: compile error
(irb):2: undefined (?..) sequence: /(?<=(?![Cc][Hh]).)/
from (irb):2
irb(main):003:0>“ahoj”.split(/(?!ch)/).join(’|’)
=> “a|h|o|j”
irb(main):004:0>“achoj”.split(/(?!ch)/).join(’|’)
=> “ac|h|o|j”
irb(main):005:0>“achoj”.gsub(/([Cc])([Hh])/,’$1_$2’).split(/(?![Hh])/).join(’|’)
=> "a|$|1||$|2|o|j"
irb(main):006:0>“achoj”.gsub(/([Cc])([Hh])/,’\1_\2’).split(/(?!_[Hh])/).join(’|’)
/usr/lib/ruby/1.8/irb/ruby-lex.rb:979: [BUG] Segmentation fault
ruby 1.8.2 (2005-04-11) [i386-linux]
Neúspì¹nì ukonèen (SIGABRT)
$
$ irb
irb(main):001:0>“ahoj”.split(//).join(’|’)
=> “a|h|o|j”
irb(main):002:0>“ahoj”.split(/(?<=(?![Cc][Hh]).)/).join(’|’)
SyntaxError: compile error
(irb):2: undefined (?..) sequence: /(?<=(?![Cc][Hh]).)/
from (irb):2
irb(main):003:0>“ahoj”.split(/(?!ch)/).join(’|’)
=> “a|h|o|j”
irb(main):004:0>“achoj”.gsub(/([Cc])([Hh])/,’$1_$2’).split(/(?![Hh])/).join(’|’)
=> "a|$|1||$|2|o|j"
irb(main):005:0>“achoj”.gsub(/([Cc])([Hh])/,’\1_\2’).split(/(?![Hh])/).join(’|’)
=> "a|c|h|o|j"
/usr/lib/ruby/1.8/irb.rb:265: [BUG] Segmentation fault
ruby 1.8.2 (2005-04-11) [i386-linux]
Neúspì¹nì ukonèen (SIGABRT)
$
[“Neúspì¹nì ukonèen” is perhaps some Czech translation of SIGABRT]
If I repeat it exactly as shown, irb fails. I’ve tried to skip some
statements, but only the fourth could be skipped to get Segmentation
fault — and even in this case the error message differed (and return
value was got compared to the first case). Skipping whichever else does
not lead to failure. I haven’t tried simplifying of the statements too
much (only a bit, but unsuccessfully with respect to retain the irb
failure).
Please, could someone test it with current version of ruby/irb?
Where should one post such bugreports?
Regards,
P.