summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-06-25 05:28:24 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-06-25 05:28:24 +0000
commit0c4fe2b522b3c51f4c815d37e3d953d59a32f29e (patch)
tree5f454a9d4b1db9e4368634cb7a76d54648a7683e
parent17e1936d8bdd897cebd03ed198a826ee395572ac (diff)
* variable.c (autoload_delete): should delete Qundef from iv_tbl.
(ruby-bugs-ja PR#504) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog9
-rw-r--r--lib/mkmf.rb2
-rw-r--r--variable.c3
3 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 0b8baf62ad..6333546a91 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,12 @@
+Wed Jun 25 00:14:30 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * variable.c (autoload_delete): should delete Qundef from iv_tbl.
+ (ruby-bugs-ja PR#504)
+
Tue Jun 24 14:22:41 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
- * lib/yaml/types.rb: replaced Kernel::Hash reference with Object::Hash
- from [ruby-talk:74270]
+ * lib/yaml/types.rb: replaced Kernel::Hash reference with Object::Hash
+ from [ruby-talk:74270]
Tue Jun 24 17:59:30 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index b0b3817b54..551fa4a5a5 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -17,6 +17,7 @@ unless defined? $configure_args
end
for arg in Shellwords::shellwords(args)
arg, val = arg.split('=', 2)
+ next unless arg
if arg.sub!(/^(?!--)/, '--')
val or next
arg.downcase!
@@ -26,6 +27,7 @@ unless defined? $configure_args
end
for arg in ARGV
arg, val = arg.split('=', 2)
+ next unless arg
if arg.sub!(/^(?!--)/, '--')
val or next
arg.downcase!
diff --git a/variable.c b/variable.c
index 5c65c0425b..eb1f3e32bc 100644
--- a/variable.c
+++ b/variable.c
@@ -1170,12 +1170,13 @@ autoload_delete(mod, id)
{
VALUE val, file = Qnil;
+ st_delete(RCLASS(mod)->iv_tbl, &id, 0);
if (st_lookup(RCLASS(mod)->iv_tbl, autoload, &val)) {
struct st_table *tbl = check_autoload_table(val);
if (!st_delete(tbl, &id, &file)) file = Qnil;
- if (!tbl->num_entries) {
+ if (tbl->num_entries == 0) {
DATA_PTR(val) = 0;
st_free_table(tbl);
id = autoload;