[#10793] 今度こそ (patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.) — kou@...1609.sip.eee.yamaguchi-u.ac.jp (Koichi Okada)

岡田です。

10 messages 2000/09/01

[#10920] SIGINT on windows — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

17 messages 2000/09/14
[#11077] Re: SIGINT on windows — matz@... (Yukihiro Matsumoto) 2000/09/27

まつもと ゆきひろです

[#10944] dummy DLL on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

19 messages 2000/09/18
[#10955] Re: dummy DLL on Windows — WATANABE Hirofumi <eban@...> 2000/09/19

わたなべです.

[#10963] Re: dummy DLL on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/09/19

なかだです。

[#10964] Re: dummy DLL on Windows — WATANABE Hirofumi <eban@...> 2000/09/19

わたなべです.

[#10978] [PATCH] require in require — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

15 messages 2000/09/20

[#10985] httphead.rb proxy version problem — Katsuyuki Komatsu <komatsu@...>

小松です.

16 messages 2000/09/20
[#10989] Re: httphead.rb proxy version problem — Minero Aoki <aamine@...> 2000/09/20

あおきです。

[ruby-dev:10907] attr_tester

From: Yasushi Shoji <yashi@...>
Date: 2000-09-13 01:33:23 UTC
List: ruby-dev #10907
おもいつきで書いてみました、気に入ったら採用してやってください。
--
       yashi

Index: eval.c
===================================================================
RCS file: /home/cvs/ruby/eval.c,v
retrieving revision 1.103
diff -u -u -r1.103 eval.c
--- eval.c      2000/09/12 06:41:23     1.103
+++ eval.c      2000/09/13 01:30:48
@@ -485,6 +485,12 @@
        rb_add_method(klass, id, NEW_ATTRSET(attriv), noex);
        rb_funcall(klass, added, 1, ID2SYM(id));
     }
+    sprintf(buf, "%s?", name);
+    id = rb_intern(buf);
+    if (!read && !write) {
+        rb_add_method(klass, id, NEW_IVAR(attriv), noex);
+        rb_funcall(klass, added, 1, ID2SYM(id));
+    }
 }
 
 extern int ruby_in_compile;

Index: object.c
===================================================================
RCS file: /home/cvs/ruby/object.c,v
retrieving revision 1.27
diff -u -u -r1.27 object.c
--- object.c    2000/09/12 05:37:24     1.27
+++ object.c    2000/09/13 01:30:52
@@ -763,6 +763,20 @@
 }
 
 static VALUE
+rb_mod_attr_tester(argc, argv, klass)
+    int argc;
+    VALUE *argv;
+    VALUE klass;
+{
+    int i;
+
+    for (i=0; i<argc; i++) {
+       rb_attr(klass, rb_to_id(argv[i]), 0, 0, Qtrue);
+    }
+    return Qnil;
+}
+
+static VALUE
 rb_mod_const_get(mod, name)
     VALUE mod, name;
 {
@@ -1162,6 +1176,7 @@
     rb_define_private_method(rb_cModule, "attr_reader", rb_mod_attr_reader, -1);
     rb_define_private_method(rb_cModule, "attr_writer", rb_mod_attr_writer, -1);
     rb_define_private_method(rb_cModule, "attr_accessor", rb_mod_attr_accessor, -1);
+    rb_define_private_method(rb_cModule, "attr_tester", rb_mod_attr_tester, -1);
 
     rb_define_singleton_method(rb_cModule, "new", rb_module_s_new, 0);
     rb_define_method(rb_cModule, "initialize", rb_mod_initialize, -1);

In This Thread

Prev Next