[#27380] [Bug #2553] Fix pthreads slowness by eliminating unnecessary sigprocmask calls — Dan Peterson <redmine@...>

Bug #2553: Fix pthreads slowness by eliminating unnecessary sigprocmask calls

21 messages 2010/01/03

[#27437] [Feature #2561] 1.8.7 Patch reduces time cost of Rational operations by 50%. — Kurt Stephens <redmine@...>

Feature #2561: 1.8.7 Patch reduces time cost of Rational operations by 50%.

9 messages 2010/01/06

[#27447] [Bug #2564] [patch] re-initialize timer_thread_{lock,cond} after fork — Aliaksey Kandratsenka <redmine@...>

Bug #2564: [patch] re-initialize timer_thread_{lock,cond} after fork

18 messages 2010/01/06

[#27545] [Feature #2594] 1.8.7 Patch: Reduce time spent in gc.c is_pointer_to_heap(). — Kurt Stephens <redmine@...>

Feature #2594: 1.8.7 Patch: Reduce time spent in gc.c is_pointer_to_heap().

8 messages 2010/01/11

[#27635] [Bug #2619] Proposed method: Process.fork_supported? — Hongli Lai <redmine@...>

Bug #2619: Proposed method: Process.fork_supported?

45 messages 2010/01/20
[#27643] [Feature #2619] Proposed method: Process.fork_supported? — Luis Lavena <redmine@...> 2010/01/21

Issue #2619 has been updated by Luis Lavena.

[#27678] Re: [Feature #2619] Proposed method: Process.fork_supported? — Yukihiro Matsumoto <matz@...> 2010/01/22

Hi,

[#27684] Re: [Feature #2619] Proposed method: Process.fork_supported? — Charles Oliver Nutter <headius@...> 2010/01/22

On Thu, Jan 21, 2010 at 11:27 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

[#27708] Re: [Feature #2619] Proposed method: Process.fork_supported? — Yukihiro Matsumoto <matz@...> 2010/01/22

Hi,

[#27646] Re: [Bug #2619] Proposed method: Process.fork_supported? — Tanaka Akira <akr@...> 2010/01/21

2010/1/21 Hongli Lai <redmine@ruby-lang.org>:

[#27652] Re: [Bug #2619] Proposed method: Process.fork_supported? — Hongli Lai <hongli@...99.net> 2010/01/21

On 1/21/10 5:20 AM, Tanaka Akira wrote:

[#27653] Re: [Bug #2619] Proposed method: Process.fork_supported? — Tanaka Akira <akr@...> 2010/01/21

2010/1/21 Hongli Lai <hongli@plan99.net>:

[#27662] Re: [Bug #2619] Proposed method: Process.fork_supported? — Vladimir Sizikov <vsizikov@...> 2010/01/21

On Thu, Jan 21, 2010 at 10:53 AM, Tanaka Akira <akr@fsij.org> wrote:

[#27698] [Bug #2629] ConditionVariable#wait(mutex, timeout) should return whether the condition was signalled, not the waited time — Hongli Lai <redmine@...>

Bug #2629: ConditionVariable#wait(mutex, timeout) should return whether the condition was signalled, not the waited time

8 messages 2010/01/22

[#27722] [Feature #2635] Unbundle rdoc — Yui NARUSE <redmine@...>

Feature #2635: Unbundle rdoc

14 messages 2010/01/23

[#27757] [Bug #2638] ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located. — Joel Soete <redmine@...>

Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.

10 messages 2010/01/24

[#27778] [Bug #2641] Seg fault running miniruby during ruby build on Haiku — Alexander von Gluck <redmine@...>

Bug #2641: Seg fault running miniruby during ruby build on Haiku

10 messages 2010/01/25

[#27791] [Bug #2644] memory over-allocation with regexp — Greg Hazel <redmine@...>

Bug #2644: memory over-allocation with regexp

12 messages 2010/01/25

[#27794] [Bug #2647] Lack of testing for String#split — Hugh Sasse <redmine@...>

Bug #2647: Lack of testing for String#split

14 messages 2010/01/25

[#27912] [Bug #2669] mkmf find_executable doesn't find .bat files — Roger Pack <redmine@...>

Bug #2669: mkmf find_executable doesn't find .bat files

11 messages 2010/01/27

[#27930] [Bug:trunk] some behavior changes of lib/csv.rb between 1.8 and 1.9 — Yusuke ENDOH <mame@...>

Hi jeg2, or anyone who knows the implementation of FasterCSV,

15 messages 2010/01/28
[#27931] Re: [Bug:trunk] some behavior changes of lib/csv.rb between 1.8 and 1.9 — James Edward Gray II <james@...> 2010/01/28

On Jan 28, 2010, at 10:51 AM, Yusuke ENDOH wrote:

[ruby-core:27931] Re: [Bug:trunk] some behavior changes of lib/csv.rb between 1.8 and 1.9

From: James Edward Gray II <james@...>
Date: 2010-01-28 17:13:44 UTC
List: ruby-core #27931
On Jan 28, 2010, at 10:51 AM, Yusuke ENDOH wrote:

> Hi jeg2, or anyone who knows the implementation of FasterCSV,

Hello.

> I'm now checking for ruby trunk to pass rubyspec.  Are these behavior
> changes of lib/csv.rb intended or bug?

Yes, they are intentional changes.

> 1) CSV.generate
> 
> $ ruby18 -rcsv -e 'w = CSV.generate("foo18.csv"); w << [1, 2, 3]; w.close'
> $ cat foo18.csv
> 1,2,3
> 
> $ ruby19 -rcsv -e 'w = CSV.generate("foo19.csv"); w << [1, 2, 3]; w.close'
> /home/mame/work/ruby19/local/lib/ruby/1.9.1/csv.rb:1231:in
> `generate': no block given (yield) (LocalJumpError)
>         from -e:1:in `<main>'
> 
> There is the comment of csv.rb:
>> The old CSV's Reader and Writer classes have been dropped.
>> CSV::generate() is different from the old method.
> They mean this change, don't they?

Yes, I believe generating to a file was even deprecated in CSV, if I remember correctly.  In either case, FasterCSV doesn't support it.

> 2) CSV.generate_line
> 
> $ ruby18 -rcsv -e 'p CSV.generate_line([])'
> ""
> 
> $ ruby19 -rcsv -e 'p CSV.generate_line([])'
> "\n"

This is intentional.  FasterCSV always generates a complete line, including the :row_sep.

> 3) CSV.generate_line (2)
> 
> $ ruby18 -rcsv -e 'p CSV::generate_line(["foo", "bar"], ?;)'
> "foo;bar"
> 
> $ ruby19 -rcsv -e 'p CSV::generate_line(["foo", "bar"], ?;)'
> /home/mame/work/ruby19/local/lib/ruby/1.9.1/csv.rb:1249:in `merge':
> can't convert String into Hash (TypeError)
>         from /home/mame/work/ruby19/local/lib/ruby/1.9.1/csv.rb:1249:in
> `generate_line'
>         from -e:1:in `<main>'

Yes, FasterCSV got rid of the positional arguments in favor of keyword arguments.  So, it's now:

  CSV.generate_line(%w[foo bar], :row_sep => ?;)

> 3) CSV.parse
> 
> $ ruby18 -rcsv -ve 'p CSV.parse "\nfoo"'
> [[nil], ["foo"]]
> 
> $ ruby19 -rcsv -ve 'p CSV.parse "\nfoo"'
> [[], ["foo"]]

Yeah, the old CSV included some seemingly random nils in places.  FasterCSV "corrects" this odd behavior.

> 4) CSV.parse_line
> 
> $ ruby18 -rcsv -ve 'p CSV.parse_line ""'
> [nil]
> 
> $ ruby19 -rcsv -ve 'p CSV.parse_line ""'
> nil

We could probably debate this one.  It may be that FasterCSV should return a [] instead of nil.  I'll make a not to look into that and maybe fix it. We won't be going back to the CSV response of [nil] though, since I don't understand it.  (See my answer to #3.)

> 5) CSV.parse_line (2)
> 
> $ ruby18 -rcsv -ve 'p CSV.parse_line "\nfoo"'
> [nil]
> 
> $ ruby19 -rcsv -ve 'p CSV.parse_line "\nfoo"'
> []

parse_line() only reads the first line, so this is the same as #3.

James Edward Gray II

In This Thread