summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-03-03 04:55:35 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-03-03 04:55:35 +0000
commit54a04074256fa85db5da3bf0041773ddc3391196 (patch)
tree73b38f7c4ca353aa285a5fa0935a142c7a73d16f /ruby.c
parente3b15cf111472455a75ec181ff676bf5d370038d (diff)
* eval.c (method_hash): new method. [ruby-talk:93968]
* eval.c (proc_eq): do not compare dyna_vars. * eval.c (proc_hash): new method. * eval.c (rb_yield_0): protect break/return from within orphan (or lambda) Proc object. * parse.y (yylex): should not allow symbol for invalid global variable (e.g. `:$-)`). [ruby-core:02518] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ruby.c b/ruby.c
index bf24defc03..995cd2f3a8 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1048,6 +1048,16 @@ verbose_setter(val, id, variable)
ruby_verbose = RTEST(val) ? Qtrue : val;
}
+static VALUE
+opt_W_getter(val, id)
+ VALUE val;
+ ID id;
+{
+ if (ruby_verbose == Qnil) return INT2FIX(0);
+ if (ruby_verbose == Qfalse) return INT2FIX(1);
+ if (ruby_verbose == Qtrue) return INT2FIX(2);
+}
+
void
ruby_prog_init()
{
@@ -1057,6 +1067,7 @@ ruby_prog_init()
rb_define_hooked_variable("$VERBOSE", &ruby_verbose, 0, verbose_setter);
rb_define_hooked_variable("$-v", &ruby_verbose, 0, verbose_setter);
rb_define_hooked_variable("$-w", &ruby_verbose, 0, verbose_setter);
+ rb_define_virtual_variable("$-W", opt_W_getter, 0);
rb_define_variable("$DEBUG", &ruby_debug);
rb_define_variable("$-d", &ruby_debug);
rb_define_readonly_variable("$-p", &do_print);