[#32171] autoload_delete — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#32185] Date#+に大きな数字を与えるとおかしな日付に — "madoka yamamoto" <yamamotomadoka@...>
こんにちは、山本と申します。
> Dateオブジェクトに+で大きな数字を与えるとおかしくなるようです。
山本です。
> アルゴリズムの意味がわからないで書いた、表層的なパッチなので
Hi,
> 1.9ではRationalとComplexを組み込みに、という話はありましたが、
原です。
ささだです.
[#32192] test-all results - ruby 1.9.0 (2007-11-09 patchlevel 0) [i686-linux] — SASADA Koichi <ko1@...>
ささだです.
[#32198] [提案] Array#tail — "Yusuke ENDOH" <mame@...>
遠藤と申します。
まつもと ゆきひろです
西山と申します
遠藤です。
[#32204] yydebug — Nobuyoshi Nakada <nobu@...>
なかだです。
[#32205] Use two pipes for duplex IO.popen — Tanaka Akira <akr@...>
改心して duplex な IO.popen で socketpair を使うのはやめよう
なかだです。
In article <20071111120021.7f0592e5.nobu@ruby-lang.org>,
[#32206] Integer#ord for 1.8 — Tanaka Akira <akr@...>
1.9 と 1.8 の両方で ?a.ord で 97 が得られるように、1.8 に
[#32219] trunkでビルド失敗 — KIMURA Koichi <kimura.koichi@...>
木村です。
[#32247] round missing (mswin32) — KIMURA Koichi <kimura.koichi@...>
木村です。
[#32263] toplevel irb method — SASADA Koichi <ko1@...>
ささだです.
まつもと ゆきひろです
[#32266] version string — SASADA Koichi <ko1@...>
ささだです.
[#32268] RFLOAT_VALUE(val), DOUBLE2NUM(dbl) — SASADA Koichi <ko1@...>
ささだです.
SASADA Koichi wrote:
[#32306] nanosecond Time and stat — Tanaka Akira <akr@...>
最近、nanosecond 単位な timestamp があるようです。
In article <874pflntd5.fsf@fsij.org>,
まつもと ゆきひろです
In article <E1Iu2GD-0004Wh-1I@x31>,
[#32308] core dump with undef/alias using dynamic symbols — Tadashi Saito <shiba@...2.accsnet.ne.jp>
斎藤と申します。
遠藤と申します。
ささだです.
遠藤です。
ささだです.
[#32329] enumerator with single array and multiple arguments. — Tanaka Akira <akr@...>
enumerator を通すとひとつの配列と複数の引数が区別できません。
[#32330] defined?($&) — Tanaka Akira <akr@...>
ふと気がついたんですが、defined?($&) が "expression" になり
まつもと ゆきひろです
まつもと ゆきひろです
ささだです.
[#32333] test/ruby/test_eval.rb — SASADA Koichi <ko1@...>
ささだです.
まつもと ゆきひろです
ささだです.
まつもと ゆきひろです
[#32348] DRb test leaves ut_eval.rb process — Tanaka Akira <akr@...>
DRb のテストをすると、(テストがいろいろと失敗する他に) プロ
[#32352] 1.9.1のリリース時期について — KIMURA Koichi <hogemuta@...>
木村です。
まつもと ゆきひろです
木村です。
まつもと ゆきひろです
[#32403] Next 1.8.6 patch release? (was Re: 1.9.1のリリース時期について) — Takahiro Kambe <taca@...>
こんばんは。
卜部です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
成瀬です。
卜部です。
遠藤と申します。
遠藤です。
ささだです.
まつもと ゆきひろです
[#32404] SEGV on child process by fork on GC.stress. — Tanaka Akira <akr@...>
GC.stress = true 下で fork すると子プロセスが SEGV します。
まつもと ゆきひろです
In article <E1Iy7HA-0006zn-37@x31>,
まつもと ゆきひろです
ささだです.
[#32409] Re: [ruby-cvs:21293] Ruby:r14056 (trunk): * signal.c (trap_signm): SIGVTALRM no longer used for green — SASADA Koichi <ko1@...>
ささだです.
さとうふみやす @ OSS テクノロジです。
ささだです.
まつもと ゆきひろです
[ruby-dev:32301] Re: version string
なかだです。
At Wed, 14 Nov 2007 16:20:12 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:32288]:
> | [ruby-dev:31743] で中田さんが提案しているものに,なにがしかの名前
> |で突っ込むのが一番いいような気はしています.
>
> 個人的にはああいう個別オブジェクトの導入はあまり好みでないの
> で、RUBY_LONG_VERSION的な文字列を取り込むことで妥協できませ
> んか?
個別オブジェクトというのはRuby moduleですか? たぶん、ささださん
のいっているのはRuby::VersionNumberのことではないのではないかと
思うのですが。
とりあえずこんなのはどうでしょうか。
Index: include/ruby/defines.h
===================================================================
--- include/ruby/defines.h (revision 13945)
+++ include/ruby/defines.h (working copy)
@@ -65,4 +65,9 @@ void *xrealloc2(void*,size_t,size_t);
void xfree(void*);
+#define STRINGIZE(expr) STRINGIZE0(expr)
+#ifndef STRINGIZE0
+#define STRINGIZE0(expr) #expr
+#endif
+
#if SIZEOF_LONG_LONG > 0
# define LONG_LONG long long
Index: version.c
===================================================================
--- version.c (revision 13945)
+++ version.c (working copy)
@@ -15,4 +15,7 @@
#include <stdio.h>
+#define PRINT(type) puts(RUBY_##type)
+#define MKSTR(type) rb_str_new(RUBY_##type, sizeof(RUBY_##type)-1)
+
const char ruby_version[] = RUBY_VERSION;
const char ruby_release_date[] = RUBY_RELEASE_DATE;
@@ -23,12 +26,21 @@ void
Init_version(void)
{
+ const char *varname;
+#define RUBY_CONST(name, val) ( \
+ varname = "RUBY_" #name, \
+ rb_define_const(mRuby, varname + 5, val), \
+ rb_define_global_const(varname, val))
+
+ VALUE mRuby = rb_define_module("Ruby");
VALUE v = rb_obj_freeze(rb_str_new2(ruby_version));
VALUE d = rb_obj_freeze(rb_str_new2(ruby_release_date));
VALUE p = rb_obj_freeze(rb_str_new2(ruby_platform));
- rb_define_global_const("RUBY_VERSION", v);
- rb_define_global_const("RUBY_RELEASE_DATE", d);
- rb_define_global_const("RUBY_PLATFORM", p);
- rb_define_global_const("RUBY_PATCHLEVEL", INT2FIX(RUBY_PATCHLEVEL));
+ RUBY_CONST(VERSION, v);
+ RUBY_CONST(RELEASE_DATE, d);
+ RUBY_CONST(PLATFORM, p);
+ RUBY_CONST(PATCHLEVEL, INT2FIX(RUBY_PATCHLEVEL));
+ RUBY_CONST(DESCRIPTION, MKSTR(DESCRIPTION));
+ RUBY_CONST(COPYRIGHT, MKSTR(COPYRIGHT));
}
@@ -36,5 +48,5 @@ void
ruby_show_version(void)
{
- printf("ruby %s (%s patchlevel %d) [%s]\n", RUBY_VERSION, RUBY_RELEASE_DATE, RUBY_PATCHLEVEL, RUBY_PLATFORM);
+ PRINT(VERSION);
fflush(stdout);
}
@@ -43,5 +55,5 @@ void
ruby_show_copyright(void)
{
- printf("ruby - Copyright (C) 1993-%d Yukihiro Matsumoto\n", RUBY_RELEASE_YEAR);
+ PRINT(COPYRIGHT);
exit(0);
}
Index: version.h
===================================================================
--- version.h (revision 13945)
+++ version.h (working copy)
@@ -1,2 +1,4 @@
+#ifndef RUBY_VERSION
+
#define RUBY_VERSION "1.9.0"
#define RUBY_RELEASE_DATE "2007-11-16"
@@ -18,2 +20,24 @@ RUBY_EXTERN const char ruby_platform[];
RUBY_EXTERN const int ruby_patchlevel;
#endif
+
+#define RUBY_AUTHOR "Yukihiro Matsumoto"
+#define RUBY_BIRTH_YEAR 1993
+#define RUBY_BIRTH_MONTH 2
+#define RUBY_BIRTH_DAY 24
+
+#define RUBY_RELEASE_STR "patchlevel"
+#define RUBY_RELEASE_NUM RUBY_PATCHLEVEL
+
+# define RUBY_DESCRIPTION \
+ "ruby "RUBY_VERSION \
+ " ("RUBY_RELEASE_DATE" " \
+ RUBY_RELEASE_STR" " \
+ STRINGIZE(RUBY_RELEASE_NUM)") " \
+ "["RUBY_PLATFORM"]"
+# define RUBY_COPYRIGHT \
+ "ruby - Copyright (C) " \
+ STRINGIZE(RUBY_BIRTH_YEAR)"-" \
+ STRINGIZE(RUBY_RELEASE_YEAR)" " \
+ RUBY_AUTHOR
+
+#endif
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦