1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/dbm/dbm.c (fdbm_key): Rename #index to #key. Emit a warning

when #index is called.
  (fdbm_indexes): Emit a deprecation warning.

* ext/gdbm/gdbm.c: Ditto.

* ext/sdbm/init.c: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
knu 2008-11-10 09:18:23 +00:00
parent c9e97eec10
commit 54b2fa7e3d
8 changed files with 75 additions and 20 deletions

View file

@ -1,3 +1,13 @@
Mon Nov 10 18:06:51 2008 Akinori MUSHA <knu@iDaemons.org>
* ext/dbm/dbm.c (fdbm_key): Rename #index to #key. Emit a warning
when #index is called.
(fdbm_indexes): Emit a deprecation warning.
* ext/gdbm/gdbm.c: Ditto.
* ext/sdbm/init.c: Ditto.
Mon Nov 10 09:56:11 2008 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c (ifs_open_socket): should retry without proto_buffer

18
NEWS
View file

@ -38,6 +38,24 @@ with all sufficient information, see the ChangeLog file.
Renamed from ENV.index.
* dbm
DBM#key
Renamed from DBM#index.
* gdbm
GDBM#key
Renamed from GDBM#index.
* sdbm
SDBM#key
Renamed from SDBM#index.
* set
Set#classify

View file

@ -215,7 +215,7 @@ fdbm_fetch_m(argc, argv, obj)
}
static VALUE
fdbm_index(obj, valstr)
fdbm_key(obj, valstr)
VALUE obj, valstr;
{
datum key, val;
@ -237,6 +237,14 @@ fdbm_index(obj, valstr)
return Qnil;
}
static VALUE
fdbm_index(hash, value)
VALUE hash, value;
{
rb_warning("DBM#index is deprecated; use DBM#key");
return fdbm_key(hash, value);
}
static VALUE
fdbm_indexes(argc, argv, obj)
int argc;
@ -246,6 +254,8 @@ fdbm_indexes(argc, argv, obj)
VALUE new;
int i;
rb_warn("DBM#%s is deprecated; use DBM#values_at",
rb_id2name(rb_frame_last_func()));
new = rb_ary_new2(argc);
for (i=0; i<argc; i++) {
rb_ary_push(new, fdbm_fetch(obj, argv[i], Qnil));
@ -771,6 +781,7 @@ Init_dbm()
rb_define_method(rb_cDBM, "[]=", fdbm_store, 2);
rb_define_method(rb_cDBM, "store", fdbm_store, 2);
rb_define_method(rb_cDBM, "index", fdbm_index, 1);
rb_define_method(rb_cDBM, "key", fdbm_key, 1);
rb_define_method(rb_cDBM, "indexes", fdbm_indexes, -1);
rb_define_method(rb_cDBM, "indices", fdbm_indexes, -1);
rb_define_method(rb_cDBM, "select", fdbm_select, -1);

View file

@ -436,13 +436,13 @@ fgdbm_fetch_m(argc, argv, obj)
/*
* call-seq:
* gdbm.index(value) -> key
* gdbm.key(value) -> key
*
* Returns the _key_ for a given _value_. If several keys may map to the
* same value, the key that is found first will be returned.
*/
static VALUE
fgdbm_index(obj, valstr)
fgdbm_key(obj, valstr)
VALUE obj, valstr;
{
struct dbmdata *dbmp;
@ -465,6 +465,15 @@ fgdbm_index(obj, valstr)
return Qnil;
}
/* :nodoc: */
static VALUE
fgdbm_index(obj, value)
VALUE obj, value;
{
rb_warning("GDBM#index is deprecated; use GDBM#key");
return fgdbm_key(obj, value);
}
static VALUE
fgdbm_indexes(argc, argv, obj)
int argc;
@ -474,6 +483,8 @@ fgdbm_indexes(argc, argv, obj)
VALUE new;
int i;
rb_warn("GDBM#%s is deprecated; use GDBM#values_at",
rb_id2name(rb_frame_last_func()));
new = rb_ary_new2(argc);
for (i=0; i<argc; i++) {
rb_ary_push(new, rb_gdbm_fetch3(obj, argv[i]));
@ -1291,6 +1302,7 @@ Init_gdbm()
rb_define_method(rb_cGDBM, "[]=", fgdbm_store, 2);
rb_define_method(rb_cGDBM, "store", fgdbm_store, 2);
rb_define_method(rb_cGDBM, "index", fgdbm_index, 1);
rb_define_method(rb_cGDBM, "key", fgdbm_key, 1);
rb_define_method(rb_cGDBM, "indexes", fgdbm_indexes, -1);
rb_define_method(rb_cGDBM, "indices", fgdbm_indexes, -1);
rb_define_method(rb_cGDBM, "select", fgdbm_select, -1);

View file

@ -193,7 +193,7 @@ fsdbm_fetch_m(argc, argv, obj)
}
static VALUE
fsdbm_index(obj, valstr)
fsdbm_key(obj, valstr)
VALUE obj, valstr;
{
datum key, val;
@ -214,6 +214,14 @@ fsdbm_index(obj, valstr)
return Qnil;
}
static VALUE
fsdbm_index(hash, value)
VALUE hash, value;
{
rb_warning("SDBM#index is deprecated; use SDBM#key");
return fsdbm_key(hash, value);
}
static VALUE
fsdbm_indexes(argc, argv, obj)
int argc;
@ -223,6 +231,8 @@ fsdbm_indexes(argc, argv, obj)
VALUE new;
int i;
rb_warn("SDBM#%s is deprecated; use SDBM#values_at",
rb_id2name(rb_frame_last_func()));
new = rb_ary_new2(argc);
for (i=0; i<argc; i++) {
rb_ary_push(new, fsdbm_fetch(obj, argv[i], Qnil));
@ -753,6 +763,7 @@ Init_sdbm()
rb_define_method(rb_cDBM, "[]=", fsdbm_store, 2);
rb_define_method(rb_cDBM, "store", fsdbm_store, 2);
rb_define_method(rb_cDBM, "index", fsdbm_index, 1);
rb_define_method(rb_cDBM, "key", fsdbm_key, 1);
rb_define_method(rb_cDBM, "indexes", fsdbm_indexes, -1);
rb_define_method(rb_cDBM, "indices", fsdbm_indexes, -1);
rb_define_method(rb_cDBM, "select", fsdbm_select, -1);

View file

@ -158,19 +158,12 @@ if defined? DBM
}
end
def test_index
def test_key
assert_equal('bar', @dbm['foo'] = 'bar')
assert_equal('foo', @dbm.index('bar'))
assert_equal('foo', @dbm.key('bar'))
assert_nil(@dbm['bar'])
end
def test_indexes
keys = %w(foo bar baz)
values = %w(FOO BAR BAZ)
@dbm[keys[0]], @dbm[keys[1]], @dbm[keys[2]] = values
assert_equal(values.reverse, @dbm.indexes(*keys.reverse))
end
def test_values_at
keys = %w(foo bar baz)
values = %w(FOO BAR BAZ)
@ -243,7 +236,7 @@ if defined? DBM
n = 0
ret = @dbm.each_value {|val|
assert_not_nil(key = @dbm.index(val))
assert_not_nil(key = @dbm.key(val))
assert_not_nil(i = keys.index(key))
assert_equal(val, values[i])

View file

@ -275,9 +275,9 @@ if defined? GDBM
}
end
def test_index
def test_key
assert_equal('bar', @gdbm['foo'] = 'bar')
assert_equal('foo', @gdbm.index('bar'))
assert_equal('foo', @gdbm.key('bar'))
assert_nil(@gdbm['bar'])
end
@ -353,7 +353,7 @@ if defined? GDBM
n = 0
ret = @gdbm.each_value {|val|
assert_not_nil(key = @gdbm.index(val))
assert_not_nil(key = @gdbm.key(val))
assert_not_nil(i = keys.index(key))
assert_equal(val, values[i])

View file

@ -198,9 +198,9 @@ class TestSDBM < Test::Unit::TestCase
}
end
def test_index
def test_key
assert_equal('bar', @sdbm['foo'] = 'bar')
assert_equal('foo', @sdbm.index('bar'))
assert_equal('foo', @sdbm.key('bar'))
assert_nil(@sdbm['bar'])
end
@ -283,7 +283,7 @@ class TestSDBM < Test::Unit::TestCase
n = 0
ret = @sdbm.each_value {|val|
assert_not_nil(key = @sdbm.index(val))
assert_not_nil(key = @sdbm.key(val))
assert_not_nil(i = keys.index(key))
assert_equal(val, values[i])