diff --git a/ChangeLog b/ChangeLog index e49bab5fb2..86e85d564c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +Fri Jun 11 22:08:50 2004 Yukihiro Matsumoto + + * array.c: remove #indexes, #indices. + + * hash.c: ditto. + + * ext/dbm/dbm.c: remove #indexes, #indices, "values_at" warning + from #select. + + * ext/gdbm/gdbm.c: ditto. + + * ext/sdbm/init.c: ditto. + + * ext/dbm/dbm.c (Init_dbm): set VERSION constant as "unknown" when + DB_VERSION_STRING is not available. + Thu Jun 10 19:19:41 2004 Yukihiro Matsumoto * ext/sdbm/init.c (fsdbm_store): sdbm should use StringValue(). diff --git a/array.c b/array.c index 53c50d4bbb..9ba53bc548 100644 --- a/array.c +++ b/array.c @@ -951,31 +951,6 @@ rb_ary_rindex(ary, val) return Qnil; } -/* - * call-seq: - * array.indexes( i1, i2, ... iN ) => an_array - * array.indices( i1, i2, ... iN ) => an_array - * - * Deprecated; use Array#select. - */ - -static VALUE -rb_ary_indexes(argc, argv, ary) - int argc; - VALUE *argv; - VALUE ary; -{ - VALUE new_ary; - long i; - - new_ary = rb_ary_new2(argc); - for (i=0; idi_dbm; - return new; -} - -static VALUE -fdbm_select(argc, argv, obj) - int argc; - VALUE *argv; - VALUE obj; -{ - VALUE new = rb_ary_new2(argc); - int i; - - if (rb_block_given_p()) { - datum key, val; - DBM *dbm; - struct dbmdata *dbmp; - - if (argc > 0) { - rb_raise(rb_eArgError, "wrong number arguments(%d for 0)", argc); - } - GetDBM(obj, dbmp); - dbm = dbmp->di_dbm; - - for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) { - VALUE assoc; - val = dbm_fetch(dbm, key); - assoc = rb_assoc_new(rb_tainted_str_new(key.dptr, key.dsize), - rb_tainted_str_new(val.dptr, val.dsize)); - if (RTEST(rb_yield(assoc))) - rb_ary_push(new, assoc); - } - } - else { - rb_warn("DBM#select(index..) is deprecated; use DBM#values_at"); - - for (i=0; idi_dbm; - return new; -} + for (keystr = rb_gdbm_firstkey(dbm); RTEST(keystr); + keystr = rb_gdbm_nextkey(dbm, keystr)) { + VALUE assoc = rb_assoc_new(keystr, rb_gdbm_fetch2(dbm, keystr)); -static VALUE -fgdbm_select(argc, argv, obj) - int argc; - VALUE *argv; - VALUE obj; -{ - VALUE new = rb_ary_new2(argc); - int i; - - if (rb_block_given_p()) { - GDBM_FILE dbm; - struct dbmdata *dbmp; - VALUE keystr; - - if (argc > 0) { - rb_raise(rb_eArgError, "wrong number arguments(%d for 0)", argc); - } - GetDBM(obj, dbmp); - dbm = dbmp->di_dbm; - - for (keystr = rb_gdbm_firstkey(dbm); RTEST(keystr); - keystr = rb_gdbm_nextkey(dbm, keystr)) { - VALUE assoc = rb_assoc_new(keystr, rb_gdbm_fetch2(dbm, keystr)); - - if (RTEST(rb_yield(assoc))) - rb_ary_push(new, assoc); - } - } - else { - rb_warn("GDBM#select(index..) is deprecated; use GDBM#values_at"); - - for (i=0; idi_dbm; - return new; -} - -static VALUE -fsdbm_select(argc, argv, obj) - int argc; - VALUE *argv; - VALUE obj; -{ - VALUE new = rb_ary_new2(argc); - int i; - - if (rb_block_given_p()) { - datum key, val; - DBM *dbm; - struct dbmdata *dbmp; - - if (argc > 0) { - rb_raise(rb_eArgError, "wrong number of arguments (%d for 0)", argc); - } - GetDBM(obj, dbmp); - dbm = dbmp->di_dbm; - - for (key = sdbm_firstkey(dbm); key.dptr; key = sdbm_nextkey(dbm)) { - VALUE assoc; - val = sdbm_fetch(dbm, key); - assoc = rb_assoc_new(rb_tainted_str_new(key.dptr, key.dsize), - rb_tainted_str_new(val.dptr, val.dsize)); - if (RTEST(rb_yield(assoc))) - rb_ary_push(new, assoc); - } - } - else { - rb_warn("SDBM#select(index..) is deprecated; use SDBM#values_at"); - - for (i=0; i array - * hsh.indices(key, ...) => array - * - * Deprecated in favor of Hash#select. - * - */ - -static VALUE -rb_hash_indexes(argc, argv, hash) - int argc; - VALUE *argv; - VALUE hash; -{ - VALUE indexes; - int i; - - indexes = rb_ary_new2(argc); - for (i=0; iptr[i] = rb_hash_aref(hash, argv[i]); - RARRAY(indexes)->len++; - } - return indexes; -} - /* * call-seq: * hsh.delete(key) => value @@ -770,7 +744,7 @@ rb_hash_values_at(argc, argv, hash) VALUE *argv; VALUE hash; { - VALUE result = rb_ary_new(); + VALUE result = rb_ary_new2(argc); long i; for (i=0; i 0) { - rb_raise(rb_eArgError, "wrong number of arguments (%d for 0)", argc); - } result = rb_ary_new(); rb_hash_foreach(hash, select_i, result); return result; @@ -2035,16 +2004,11 @@ env_values_at(argc, argv) } static VALUE -env_select(argc, argv) - int argc; - VALUE *argv; +env_select() { VALUE result; char **env; - if (argc > 0) { - rb_raise(rb_eArgError, "wrong number of arguments (%d for 0)", argc); - } result = rb_ary_new(); env = GET_ENVIRON(environ); while (*env) { @@ -2230,28 +2194,6 @@ env_index(dmy, value) return Qnil; } -static VALUE -env_indexes(argc, argv) - int argc; - VALUE *argv; -{ - int i; - VALUE indexes = rb_ary_new2(argc); - - for (i=0;iptr[i] = Qnil; - } - else { - RARRAY(indexes)->ptr[i] = env_str_new2(getenv(RSTRING(tmp)->ptr)); - } - RARRAY(indexes)->len = i+1; - } - - return indexes; -} - static VALUE env_to_hash() { @@ -2400,8 +2342,6 @@ Init_Hash() rb_define_method(rb_cHash,"default=", rb_hash_set_default, 1); rb_define_method(rb_cHash,"default_proc", rb_hash_default_proc, 0); rb_define_method(rb_cHash,"index", rb_hash_index, 1); - rb_define_method(rb_cHash,"indexes", rb_hash_indexes, -1); - rb_define_method(rb_cHash,"indices", rb_hash_indexes, -1); rb_define_method(rb_cHash,"size", rb_hash_size, 0); rb_define_method(rb_cHash,"length", rb_hash_size, 0); rb_define_method(rb_cHash,"empty?", rb_hash_empty_p, 0); @@ -2419,7 +2359,7 @@ Init_Hash() rb_define_method(rb_cHash,"shift", rb_hash_shift, 0); rb_define_method(rb_cHash,"delete", rb_hash_delete, 1); rb_define_method(rb_cHash,"delete_if", rb_hash_delete_if, 0); - rb_define_method(rb_cHash,"select", rb_hash_select, -1); + rb_define_method(rb_cHash,"select", rb_hash_select, 0); rb_define_method(rb_cHash,"reject", rb_hash_reject, 0); rb_define_method(rb_cHash,"reject!", rb_hash_reject_bang, 0); rb_define_method(rb_cHash,"clear", rb_hash_clear, 0); @@ -2454,7 +2394,7 @@ Init_Hash() rb_define_singleton_method(envtbl,"clear", env_clear, 0); rb_define_singleton_method(envtbl,"reject", env_reject, 0); rb_define_singleton_method(envtbl,"reject!", env_reject_bang, 0); - rb_define_singleton_method(envtbl,"select", env_select, -1); + rb_define_singleton_method(envtbl,"select", env_select, 0); rb_define_singleton_method(envtbl,"shift", env_shift, 0); rb_define_singleton_method(envtbl,"invert", env_invert, 0); rb_define_singleton_method(envtbl,"replace", env_replace, 1); @@ -2464,8 +2404,6 @@ Init_Hash() rb_define_singleton_method(envtbl,"to_a", env_to_a, 0); rb_define_singleton_method(envtbl,"to_s", env_to_s, 0); rb_define_singleton_method(envtbl,"index", env_index, 1); - rb_define_singleton_method(envtbl,"indexes", env_indexes, -1); - rb_define_singleton_method(envtbl,"indices", env_indexes, -1); rb_define_singleton_method(envtbl,"size", env_size, 0); rb_define_singleton_method(envtbl,"length", env_size, 0); rb_define_singleton_method(envtbl,"empty?", env_empty_p, 0);