[#11680] fork_and_kill_other_threads — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。[ruby-list:26165]からもって来ました。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
On Sun, 3 Dec 2000 23:33:41 +0900
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
[#11688] [bug?] cgi.rb / rb_exec_end_proc — Takaaki Tateishi <ttate@...>
立石です.
[#11697] ruby_run() — "K.Kosako" <kosako@...>
細かい話で恐縮ですが、プログラムを読んでいて
[#11733] Ruby I18N 改め M17N — とみたまさひろ <tommy@...>
とみたです。
まつもと ゆきひろです
とみたです。
まつもと ゆきひろです
> |もし MBString を Ruby の基本クラスとして実装するんでしたら、
まつもと ゆきひろです
> |struct RString(とstruct RMBString)からorigメンバを削っても、
[#11758] [PATCH & Q] literal in condition — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
[#11777] Maybe IRB bug!! — Kazuhiro NISHIYAMA <zn@...>
irbで$SAFE=4にしたらSecurityErrorで終了してしまいました。
けいじゅ@日本ラショナルソフトウェアです.
[#11789] mswin32 [Q & patch] mkmf.rb — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
なかだです。
まつもと ゆきひろです
なかだです。
こんにちは、なかむら(う)です。
なかだです。
[#11818] Hash#inspect with symbol key — Hiroshi IGARASHI <igarashi@...>
いがらしです。ご無沙汰してます。
[#11820] pack/unpack の '_' — Koji Arai <JCA02266@...>
新井です。
[#11835] fork exception — nobu.nakada@...
なかだです。
[#11848] Where'd all the Ruby's history gone? — "Akinori MUSHA" <knu@...>
さっき気付いたんですが、 Ruby のレポジトリから過去分がごっそり
まつもと ゆきひろです
On Tue, 26 Dec 2000 14:58:07 +0900
まつもと ゆきひろです
At Tue, 26 Dec 2000 17:44:57 +0900,
On Tue, 26 Dec 2000 21:24:19 +0900
At Fri, 29 Dec 2000 18:56:03 +0900,
On Fri, 29 Dec 2000 19:07:12 +0900
At Fri, 29 Dec 2000 19:35:56 +0900,
On Fri, 29 Dec 2000 19:55:59 +0900
At Sat, 6 Jan 2001 20:33:58 +0900,
えぐち@エスアンドイー です。
[#11849] rb_io_flush — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#11852] local variable extent problem? — Tanaka Akira <akr@...17n.org>
どうも、Ruby のバグのような気がするものを見つけたのですが、もしかした
まつもと ゆきひろです
In article <977817486.100168.31162.nullmailer@ev.netlab.zetabits.com>,
まつもと ゆきひろです
In article <977819010.870991.31953.nullmailer@ev.netlab.zetabits.com>,
まつもと ゆきひろです
At Tue, 26 Dec 2000 17:50:11 +0900,
まつもと ゆきひろです
こんばんは。もうこんな時間だ。。
まつもと ゆきひろです
[#11885] New CVSweb — "Akinori MUSHA" <knu@...>
以下の URL に新しい CVSweb を置きました。新しいレポジトリを
[#11898] `www' module is available again — "Akinori MUSHA" <knu@...>
www レポジトリをマージしました。今のところ、 ruby と www の
[ruby-dev:11900] [PATCH] id2ref for Symbol
~~~~~~
ObjectSpace::_id2ref(:-.__id__) == :- ~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~
ruby -e 'p ObjectSpace::_id2ref(8)'
-e:1:in `_id2ref': 0x10 is not id value (RangeError)
~~ parse.y ~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~
Index: gc.c
===================================================================
RCS file: /ruby/ruby/gc.c,v
retrieving revision 1.51
diff -u -2 -p -r1.51 gc.c
--- gc.c 2000/12/29 18:23:22 1.51
+++ gc.c 2000/12/30 03:03:38
@@ -1264,16 +1264,20 @@ id2ref(obj, id)
rb_secure(4);
- ptr = NUM2UINT(id);
- if (FIXNUM_P(ptr)) return (VALUE)ptr;
- if (ptr == Qtrue) return Qtrue;
- if (ptr == Qfalse) return Qfalse;
- if (ptr == Qnil) return Qnil;
+ ptr = id;
+ id = NUM2UINT(id);
+ if (FIXNUM_P(id)) return id;
+ if (id == Qtrue) return Qtrue;
+ if (id == Qfalse) return Qfalse;
+ if (id == Qnil) return Qnil;
+ if (IMMEDIATE_P(id)) {
+ if (SYMBOL_P(id) && rb_id2name(SYM2ID(id))) return id;
+ rb_raise(rb_eRangeError, "0x%x is unknown immediate", id);
+ }
- ptr = id ^ FIXNUM_FLAG; /* unset FIXNUM_FLAG */
if (!is_pointer_to_heap(ptr)) {
- rb_raise(rb_eRangeError, "0x%x is not id value", ptr);
+ rb_raise(rb_eRangeError, "0x%x is not id value", id);
}
if (BUILTIN_TYPE(ptr) == 0) {
- rb_raise(rb_eRangeError, "0x%x is recycled object", ptr);
+ rb_raise(rb_eRangeError, "0x%x is recycled object", id);
}
return (VALUE)ptr;
Index: parse.y
===================================================================
RCS file: /ruby/ruby/parse.y,v
retrieving revision 1.77
diff -u -2 -p -r1.77 parse.y
--- parse.y 2000/12/28 05:00:39 1.77
+++ parse.y 2000/12/30 03:36:47
@@ -4785,11 +4785,6 @@ static struct {
tDOT2, "..",
tDOT3, "...",
- '+', "+",
- '-', "-",
'+', "+(binary)",
'-', "-(binary)",
- '*', "*",
- '/', "/",
- '%', "%",
tPOW, "**",
tUPLUS, "+@",
@@ -4797,11 +4792,6 @@ static struct {
tUPLUS, "+(unary)",
tUMINUS, "-(unary)",
- '|', "|",
- '^', "^",
- '&', "&",
tCMP, "<=>",
- '>', ">",
tGEQ, ">=",
- '<', "<",
tLEQ, "<=",
tEQ, "==",
@@ -4810,6 +4800,4 @@ static struct {
tMATCH, "=~",
tNMATCH, "!~",
- '!', "!",
- '~', "~",
'!', "!(unary)",
'~', "~(unary)",
@@ -4822,5 +4810,4 @@ static struct {
tCOLON2, "::",
tCOLON3, "::",
- '`', "`",
0, 0,
};
@@ -4838,4 +4825,6 @@ Init_sym()
}
+#define ASCII_SYMBOL_P(c) (isascii(c) && !ISALPHA(c))
+
ID
rb_intern(name)
@@ -4846,4 +4835,7 @@ rb_intern(name)
int last;
+ if (!name[0]) return 0;
+ if (!name[1] && ASCII_SYMBOL_P(name[0])) return toascii(name[0]);
+
if (st_lookup(sym_tbl, name, &id))
return id;
@@ -4909,4 +4901,10 @@ rb_id2name(id)
{
char *name;
+
+ if (ASCII_SYMBOL_P(id)) {
+ static char name[128][2];
+ name[id][0] = (char)id;
+ return name[id];
+ }
if (id < LAST_TOKEN) {
--
--- ~~~~Bug~~~~
--- ~~~~~Bug~~~~~
~~ ~~