[#39954] Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — SASADA Koichi <ko1@...>

 ささだです.

16 messages 2010/01/04
[#39957] Re: Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — Yugui <yugui@...> 2010/01/04

2010/1/4 SASADA Koichi <ko1@atdot.net>:

[#39959] Re: Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — SASADA Koichi <ko1@...> 2010/01/04

 ささだです.

[#39975] [Feature #2571] 文字列のハミング距離 — Kenta Murata <redmine@...>

Feature #2571: 文字列のハミング距離

14 messages 2010/01/07

[#39978] "require 'logge'" fails on ruby 1.8.7 from http://github.com/shyouhei/ruby — MOROHASHI Kyosuke <moronatural@...>

諸橋です。

7 messages 2010/01/07

[#40004] [Bug:trunk] require_relative depends on current directory — Yusuke ENDOH <mame@...>

遠藤です。

13 messages 2010/01/09

[#40074] [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <redmine@...>

Bug #2603: NetBSD 5.0以降でpthreadの処理に由来する不具合

29 messages 2010/01/14
[#40086] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — f-miura@... (MIURA, Fumiaki) 2010/01/14

NTTレゾナントの三浦です。不完全なpatchを書いてすみません。

[#40088] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <taca@...> 2010/01/14

こんばんは。

[#40091] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — KOSAKI Motohiro <kosaki.motohiro@...> 2010/01/15

kosakiです

[#40092] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <taca@...> 2010/01/15

こんにちは。

[#40077] [Bug #2604] test_dsa_sign_verify() in test/openssl/test_ec.rb failes — Takahiro Kambe <redmine@...>

Bug #2604: test_dsa_sign_verify() in test/openssl/test_ec.rb failes

11 messages 2010/01/14

[#40153] [Bug:trunk] three bugs of Matrix::Scalar — Yusuke ENDOH <mame@...>

連投すみません。

19 messages 2010/01/25
[#40184] Re: [Bug:trunk] three bugs of Matrix::Scalar — keiju@... (石塚圭樹) 2010/01/27

けいじゅ@いしつかです.

[#40189] Re: [Bug:trunk] three bugs of Matrix::Scalar — Yusuke ENDOH <mame@...> 2010/01/27

遠藤です。

[#40191] Re: [Bug:trunk] three bugs of Matrix::Scalar — keiju@... (石塚圭樹) 2010/01/27

けいじゅ@いしつかです.

[#40224] Re: [Bug:trunk] three bugs of Matrix::Scalar — Yukihiro Matsumoto <matz@...> 2010/01/28

まつもと ゆきひろです

[#40162] [Bug #2658] rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR — Yusuke Endoh <redmine@...>

Bug #2658: rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR

8 messages 2010/01/26
[#40163] Re: [Bug #2658] rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR — Tanaka Akira <akr@...> 2010/01/26

2010年1月26日20:39 Yusuke Endoh <redmine@ruby-lang.org>:

[#40168] [Bug #2662] BigDecimal#ceil, etc. should not return Integer — Yusuke Endoh <redmine@...>

Bug #2662: BigDecimal#ceil, etc. should not return Integer

10 messages 2010/01/26

[#40200] [Feature #2673] the length for an enumerator generated by Array#permutation and Array#combination — Kenta Murata <redmine@...>

Feature #2673: the length for an enumerator generated by Array#permutation and Array#combination

14 messages 2010/01/28

[#40221] [Bug:trunk] rubyspec: SimpleDelegator when frozen creates a frozen clone ERROR — Yusuke ENDOH <mame@...>

まつもとさん、または lib/delegator.rb についてわかる誰か

13 messages 2010/01/28

[#40265] MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...>

手元の Ubuntu 9.10 の環境で Ruby 1.9.2 を make test-all すると

38 messages 2010/01/30
[#40326] Re: MonitorMixin::ConditionVariable#wait timeout — Shugo Maeda <shugo@...> 2010/02/05

前田です。

[#41155] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

前田さん、akr さん

[#41157] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/05

2010年5月5日9:32 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41158] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

遠藤です。

[#41159] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/05

2010年5月5日11:46 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41160] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

遠藤です。

[#41182] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月5日13:22 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41183] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/06

遠藤です。

[#41186] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月6日19:58 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41205] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/06

遠藤です。

[#41207] Re: MonitorMixin::ConditionVariable#wait timeout — KOSAKI Motohiro <kosaki.motohiro@...> 2010/05/06

2010年5月6日23:08 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41208] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月6日23:15 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:

[#41245] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/10

遠藤です。

[#41252] Re: MonitorMixin::ConditionVariable#wait timeout — KOSAKI Motohiro <kosaki.motohiro@...> 2010/05/10

kosakiです

[#41255] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/10

遠藤です。

[#41256] Re: MonitorMixin::ConditionVariable#wait timeout — Masaya TARUI <tarui@...> 2010/05/10

樽家です。

[#40269] [Feature #2695] Supported Platforms — Kazuhiro NISHIYAMA <redmine@...>

Feature #2695: Supported Platforms

17 messages 2010/01/31
[#40760] [Feature #2695] Supported Platforms — Yusuke Endoh <redmine@...> 2010/03/25

チケット #2695 が更新されました。 (by Yusuke Endoh)

[ruby-dev:40075] Re: [BUG] marshaling Time.utc_offset

From: Nobuyoshi Nakada <nobu@...>
Date: 2010-01-14 04:01:18 UTC
List: ruby-dev #40075
なかだです。

At Wed, 13 Jan 2010 20:03:30 +0900,
Tanaka Akira wrote in [ruby-dev:40066]:
> > ちなみにutc_offsetはRationalを想定しているようですが、分未満の時
> > 差を持つタイムゾーンというのは実際にあり得るんでしょうか。
> 
> % zdump -v Europe/Lisbon|head -1
> Europe/Lisbon  Fri Dec 13 20:45:52 1901 UTC = Fri Dec 13 20:09:20 1901
> LMT isdst=0 gmtoff=-2192
> % TZ=Europe/Lisbon ruby -e 'p Time.local(1902).utc_offset'
> -2192
> 
> 昔は各都市ごとに決めていたのだろう、と想像しています。

二三十秒くらい適当に合わせちゃえばよかったのに。
さすがに秒未満のタイムゾーンはないですよね。


Index: time.c
===================================================================
--- time.c	(revision 26324)
+++ time.c	(working copy)
@@ -104,5 +104,5 @@ rb_localtime(const time_t *tm, struct tm
 #endif
 
-static ID id_divmod, id_mul, id_submicro, id_nano_num, id_nano_den;
+static ID id_divmod, id_mul, id_submicro, id_nano_num, id_nano_den, id_offset;
 static ID id_eq, id_ne, id_quo, id_div, id_cmp, id_lshift;
 
@@ -1840,4 +1840,6 @@ validate_utc_offset(VALUE utc_offset)
     if (le(utc_offset, INT2FIX(-86400)) || ge(utc_offset, INT2FIX(86400)))
 	rb_raise(rb_eArgError, "utc_offset out of range");
+    if (!rb_equal(mod(utc_offset, INT2FIX(1)), INT2FIX(0)))
+	rb_raise(rb_eArgError, "utc_offset not in seconds");
 }
 
@@ -3676,4 +3678,8 @@ time_mdump(VALUE time)
         rb_ivar_set(str, id_submicro, rb_str_new(buf, len));
     }
+    if (!TIME_UTC_P(tobj)) {
+	VALUE min = rb_Integer(time_utc_offset(time));
+	rb_ivar_set(str, id_offset, min);
+    }
     return str;
 }
@@ -3712,5 +3718,5 @@ time_mload(VALUE time, VALUE str)
     int i, gmt;
     long nsec;
-    VALUE timexv, submicro, nano_num, nano_den;
+    VALUE timexv, submicro, nano_num, nano_den, offset;
 
     time_modify(time);
@@ -3728,4 +3734,9 @@ time_mload(VALUE time, VALUE str)
         st_delete(rb_generic_ivar_table(str), (st_data_t*)&id_submicro, 0);
     }
+    offset = rb_attr_get(str, id_offset);
+    if (offset != Qnil) {
+        validate_utc_offset(offset);
+        st_delete(rb_generic_ivar_table(str), (st_data_t*)&id_offset, 0);
+    }
     rb_copy_generic_ivar(time, str);
 
@@ -3746,4 +3757,5 @@ time_mload(VALUE time, VALUE str)
     if ((p & (1UL<<31)) == 0) {
         gmt = 0;
+	offset = Qnil;
 	sec = p;
 	usec = s;
@@ -3798,6 +3810,12 @@ end_submicro: ;
     GetTimeval(time, tobj);
     tobj->tm_got = 0;
-    if (gmt) TIME_SET_UTC(tobj);
     tobj->timexv = timexv;
+    if (gmt) {
+	TIME_SET_UTC(tobj);
+    }
+    else if (!NIL_P(offset)) {
+	time_set_utc_offset(time, offset);
+	time_fixoff(time);
+    }
 
     return time;
@@ -3854,4 +3872,5 @@ Init_Time(void)
     id_nano_num = rb_intern("nano_num");
     id_nano_den = rb_intern("nano_den");
+    id_offset = rb_intern("offset");
 
     rb_cTime = rb_define_class("Time", rb_cObject);
Index: test/ruby/test_time.rb
===================================================================
--- test/ruby/test_time.rb	(revision 26324)
+++ test/ruby/test_time.rb	(working copy)
@@ -204,4 +204,16 @@ class TestTime < Test::Unit::TestCase
   end
 
+  def test_marshal_timezone
+    t1 = Time.gm(2000)
+    m = Marshal.dump(t1.getlocal("-02:00"))
+    t2 = Marshal.load(m)
+    assert_equal(t1, t2)
+    assert_equal(-7200, t2.utc_offset)
+    m = Marshal.dump(t1.getlocal("+08:15"))
+    t2 = Marshal.load(m)
+    assert_equal(t1, t2)
+    assert_equal(29700, t2.utc_offset)
+  end
+
   # Sat Jan 01 00:00:00 UTC 2000
   T2000 = Time.at(946684800).gmtime


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread