mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* eval.c (assign): ruby_verbose should be surrounded by RTEST().
* object.c (rb_str2cstr): ditto. * parse.y (void_expr): ditto. * parse.y (void_stmts): ditto. * variable.c (rb_ivar_get): ditto. * variable.c (rb_cvar_set): ditto. * variable.c (rb_cvar_get): ditto. * dir.c (glob_helper): should have proceed link when link->path was non existing symbolic link. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
3a202ff2b4
commit
5527b3b961
8 changed files with 68 additions and 27 deletions
16
ChangeLog
16
ChangeLog
|
@ -4,6 +4,22 @@ Thu Apr 11 09:31:19 2002 Takaaki Tateishi <ttate@kt.jaist.ac.jp>
|
|||
|
||||
* ext/dl/sym.c: ditto.
|
||||
|
||||
Thu Apr 11 07:57:48 2002 Michal Rokos <m.rokos@sh.cvut.cz>
|
||||
|
||||
* eval.c (assign): ruby_verbose should be surrounded by RTEST().
|
||||
|
||||
* object.c (rb_str2cstr): ditto.
|
||||
|
||||
* parse.y (void_expr): ditto.
|
||||
|
||||
* parse.y (void_stmts): ditto.
|
||||
|
||||
* variable.c (rb_ivar_get): ditto.
|
||||
|
||||
* variable.c (rb_cvar_set): ditto.
|
||||
|
||||
* variable.c (rb_cvar_get): ditto.
|
||||
|
||||
Thu Apr 11 07:02:31 2002 Takaaki Tateishi <ttate@kt.jaist.ac.jp>
|
||||
|
||||
* ext/dl: Add dl.txt instead of README and README.html.
|
||||
|
|
|
@ -308,7 +308,7 @@ AC_CHECK_FUNCS(fmod killpg drand48 random wait4 waitpid syscall chroot fsync\
|
|||
setrgid setegid setregid setresgid pause lchown lchmod\
|
||||
getpgrp setpgrp getpgid setpgid getgroups getpriority getrlimit\
|
||||
dlopen sigprocmask sigaction _setjmp setsid telldir seekdir fchmod\
|
||||
mktime timegm)
|
||||
mktime timegm cosh sinh tanh)
|
||||
AC_STRUCT_TIMEZONE
|
||||
AC_CACHE_CHECK(for struct tm.tm_gmtoff, rb_cv_member_struct_tm_tm_gmtoff,
|
||||
[AC_TRY_COMPILE([#include <time.h>],
|
||||
|
|
2
eval.c
2
eval.c
|
@ -3935,7 +3935,7 @@ assign(self, lhs, val, pcall)
|
|||
break;
|
||||
|
||||
case NODE_CVDECL:
|
||||
if (ruby_verbose && FL_TEST(ruby_cbase, FL_SINGLETON)) {
|
||||
if (RTEST(ruby_verbose) && FL_TEST(ruby_cbase, FL_SINGLETON)) {
|
||||
rb_warn("declaring singleton class variable");
|
||||
}
|
||||
rb_cvar_set(cvar_cbase(), lhs->nd_vid, val, Qtrue);
|
||||
|
|
26
lib/cgi.rb
26
lib/cgi.rb
|
@ -1166,12 +1166,12 @@ convert string charset, and set language to "ja".
|
|||
|
||||
checkbox_group("name", ["foo"], ["bar", true], "baz")
|
||||
# <INPUT TYPE="checkbox" NAME="name" VALUE="foo">foo
|
||||
# <INPUT TYPE="checkbox" SELECTED NAME="name" VALUE="bar">bar
|
||||
# <INPUT TYPE="checkbox" CHECKED NAME="name" VALUE="bar">bar
|
||||
# <INPUT TYPE="checkbox" NAME="name" VALUE="baz">baz
|
||||
|
||||
checkbox_group("name", ["1", "Foo"], ["2", "Bar", true], "Baz")
|
||||
# <INPUT TYPE="checkbox" NAME="name" VALUE="1">Foo
|
||||
# <INPUT TYPE="checkbox" SELECTED NAME="name" VALUE="2">Bar
|
||||
# <INPUT TYPE="checkbox" CHECKED NAME="name" VALUE="2">Bar
|
||||
# <INPUT TYPE="checkbox" NAME="name" VALUE="Baz">Baz
|
||||
|
||||
checkbox_group({ "NAME" => "name",
|
||||
|
@ -1213,7 +1213,7 @@ convert string charset, and set language to "ja".
|
|||
# <INPUT TYPE="file" NAME="name" SIZE="40">
|
||||
|
||||
file_field("name", 40, 100)
|
||||
# <INPUT TYPE="file" NAME="name" SIZE="40", MAXLENGTH="100">
|
||||
# <INPUT TYPE="file" NAME="name" SIZE="40" MAXLENGTH="100">
|
||||
|
||||
file_field({ "NAME" => "name", "SIZE" => 40 })
|
||||
# <INPUT TYPE="file" NAME="name" SIZE="40">
|
||||
|
@ -1372,7 +1372,7 @@ The hash keys are case sensitive. Ask the samples.
|
|||
# <INPUT TYPE="image" SRC="url">
|
||||
|
||||
image_button("url", "name", "string")
|
||||
# <INPUT TYPE="image" SRC="url" NAME="name", ALT="string">
|
||||
# <INPUT TYPE="image" SRC="url" NAME="name" ALT="string">
|
||||
|
||||
image_button({ "SRC" => "url", "ATL" => "strng" })
|
||||
# <INPUT TYPE="image" SRC="url" ALT="string">
|
||||
|
@ -1393,10 +1393,10 @@ The hash keys are case sensitive. Ask the samples.
|
|||
=begin
|
||||
=== IMG ELEMENT
|
||||
img("src", "alt", 100, 50)
|
||||
# <IMG SRC="src" ALT="alt" WIDTH="100", HEIGHT="50">
|
||||
# <IMG SRC="src" ALT="alt" WIDTH="100" HEIGHT="50">
|
||||
|
||||
img({ "SRC" => "src", "ALT" => "alt", "WIDTH" => 100, "HEIGHT" => 50 })
|
||||
# <IMG SRC="src" ALT="alt" WIDTH="100", HEIGHT="50">
|
||||
# <IMG SRC="src" ALT="alt" WIDTH="100" HEIGHT="50">
|
||||
=end
|
||||
def img(src = "", alt = "", width = nil, height = nil)
|
||||
attributes = if src.kind_of?(String)
|
||||
|
@ -1450,7 +1450,7 @@ The hash keys are case sensitive. Ask the samples.
|
|||
# <INPUT TYPE="password" NAME="name" VALUE="value" SIZE="40">
|
||||
|
||||
password_field("password", "value", 80, 200)
|
||||
# <INPUT TYPE="password" NAME="name" VALUE="value", SIZE="80", MAXLENGTH="200">
|
||||
# <INPUT TYPE="password" NAME="name" VALUE="value" SIZE="80" MAXLENGTH="200">
|
||||
|
||||
password_field({ "NAME" => "name", "VALUE" => "value" })
|
||||
# <INPUT TYPE="password" NAME="name" VALUE="value">
|
||||
|
@ -1536,10 +1536,10 @@ The hash keys are case sensitive. Ask the samples.
|
|||
=begin
|
||||
=== RADIO_BUTTON
|
||||
radio_button("name", "value")
|
||||
# <INPUT TYPE="radio" NAME="name", VALUE="value">
|
||||
# <INPUT TYPE="radio" NAME="name" VALUE="value">
|
||||
|
||||
radio_button("name", "value", true)
|
||||
# <INPUT TYPE="radio" NAME="name", VALUE="value", CHECKED>
|
||||
# <INPUT TYPE="radio" NAME="name" VALUE="value" CHECKED>
|
||||
|
||||
radio_button({ "NAME" => "name", "VALUE" => "value", "ID" => "foo" })
|
||||
# <INPUT TYPE="radio" NAME="name" VALUE="value" ID="foo">
|
||||
|
@ -1565,12 +1565,12 @@ The hash keys are case sensitive. Ask the samples.
|
|||
|
||||
radio_group("name", ["foo"], ["bar", true], "baz")
|
||||
# <INPUT TYPE="radio" NAME="name" VALUE="foo">foo
|
||||
# <INPUT TYPE="radio" SELECTED NAME="name" VALUE="bar">bar
|
||||
# <INPUT TYPE="radio" CHECKED NAME="name" VALUE="bar">bar
|
||||
# <INPUT TYPE="radio" NAME="name" VALUE="baz">baz
|
||||
|
||||
radio_group("name", ["1", "Foo"], ["2", "Bar", true], "Baz")
|
||||
# <INPUT TYPE="radio" NAME="name" VALUE="1">Foo
|
||||
# <INPUT TYPE="radio" SELECTED NAME="name" VALUE="2">Bar
|
||||
# <INPUT TYPE="radio" CHECKED NAME="name" VALUE="2">Bar
|
||||
# <INPUT TYPE="radio" NAME="name" VALUE="Baz">Baz
|
||||
|
||||
radio_group({ "NAME" => "name",
|
||||
|
@ -1672,10 +1672,10 @@ The hash keys are case sensitive. Ask the samples.
|
|||
# <INPUT TYPE="text" NAME="name" VALUE="value" SIZE="40">
|
||||
|
||||
text_field("name", "value", 80)
|
||||
# <INPUT TYPE="text" NAME="name" VALUE="value", SIZE="80">
|
||||
# <INPUT TYPE="text" NAME="name" VALUE="value" SIZE="80">
|
||||
|
||||
text_field("name", "value", 80, 200)
|
||||
# <INPUT TYPE="text" NAME="name" VALUE="value", SIZE="80", MAXLENGTH="200">
|
||||
# <INPUT TYPE="text" NAME="name" VALUE="value" SIZE="80" MAXLENGTH="200">
|
||||
|
||||
text_field({ "NAME" => "name", "VALUE" => "value" })
|
||||
# <INPUT TYPE="text" NAME="name" VALUE="value">
|
||||
|
|
27
math.c
27
math.c
|
@ -88,6 +88,15 @@ math_atan(obj, x)
|
|||
return rb_float_new(atan(RFLOAT(x)->value));
|
||||
}
|
||||
|
||||
#ifndef HAVE_COSH
|
||||
double
|
||||
cosh(x)
|
||||
double x;
|
||||
{
|
||||
return (exp(x) + exp(-x)) / 2;
|
||||
}
|
||||
#endif
|
||||
|
||||
static VALUE
|
||||
math_cosh(obj, x)
|
||||
VALUE obj, x;
|
||||
|
@ -96,6 +105,15 @@ math_cosh(obj, x)
|
|||
return rb_float_new(cosh(RFLOAT(x)->value));
|
||||
}
|
||||
|
||||
#ifndef HAVE_SINH
|
||||
double
|
||||
sinh(x)
|
||||
double x;
|
||||
{
|
||||
return (exp(x) - exp(-x)) / 2;
|
||||
}
|
||||
#endif
|
||||
|
||||
static VALUE
|
||||
math_sinh(obj, x)
|
||||
VALUE obj, x;
|
||||
|
@ -104,6 +122,15 @@ math_sinh(obj, x)
|
|||
return rb_float_new(sinh(RFLOAT(x)->value));
|
||||
}
|
||||
|
||||
#ifndef HAVE_SINH
|
||||
double
|
||||
tanh(x)
|
||||
double x;
|
||||
{
|
||||
return sinh(x) / cosh(x);
|
||||
}
|
||||
#endif
|
||||
|
||||
static VALUE
|
||||
math_tanh(obj, x)
|
||||
VALUE obj, x;
|
||||
|
|
2
object.c
2
object.c
|
@ -1116,7 +1116,7 @@ rb_str2cstr(str, len)
|
|||
{
|
||||
StringValue(str);
|
||||
if (len) *len = RSTRING(str)->len;
|
||||
else if (ruby_verbose && RSTRING(str)->len != strlen(RSTRING(str)->ptr)) {
|
||||
else if (RTEST(ruby_verbose) && RSTRING(str)->len != strlen(RSTRING(str)->ptr)) {
|
||||
rb_warn("string contains \\0 character");
|
||||
}
|
||||
return RSTRING(str)->ptr;
|
||||
|
|
4
parse.y
4
parse.y
|
@ -4648,7 +4648,7 @@ void_expr(node)
|
|||
{
|
||||
char *useless = 0;
|
||||
|
||||
if (!ruby_verbose) return;
|
||||
if (!RTEST(ruby_verbose)) return;
|
||||
if (!node) return;
|
||||
|
||||
again:
|
||||
|
@ -4742,7 +4742,7 @@ static void
|
|||
void_stmts(node)
|
||||
NODE *node;
|
||||
{
|
||||
if (!ruby_verbose) return;
|
||||
if (!RTEST(ruby_verbose)) return;
|
||||
if (!node) return;
|
||||
if (nd_type(node) != NODE_BLOCK) return;
|
||||
|
||||
|
|
16
variable.c
16
variable.c
|
@ -353,9 +353,8 @@ static VALUE
|
|||
undef_getter(id)
|
||||
ID id;
|
||||
{
|
||||
if (ruby_verbose) {
|
||||
rb_warning("global variable `%s' not initialized", rb_id2name(id));
|
||||
}
|
||||
rb_warning("global variable `%s' not initialized", rb_id2name(id));
|
||||
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
|
@ -945,9 +944,8 @@ rb_ivar_get(obj, id)
|
|||
return generic_ivar_get(obj, id);
|
||||
break;
|
||||
}
|
||||
if (ruby_verbose) {
|
||||
rb_warning("instance variable %s not initialized", rb_id2name(id));
|
||||
}
|
||||
rb_warning("instance variable %s not initialized", rb_id2name(id));
|
||||
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
|
@ -1461,11 +1459,11 @@ rb_cvar_set(klass, id, val, warn)
|
|||
if (OBJ_FROZEN(tmp)) rb_error_frozen("class/module");
|
||||
if (!OBJ_TAINTED(tmp) && rb_safe_level() >= 4)
|
||||
rb_raise(rb_eSecurityError, "Insecure: can't modify class variable");
|
||||
if (warn && ruby_verbose && klass != tmp) {
|
||||
if (warn && RTEST(ruby_verbose) && klass != tmp) {
|
||||
rb_warning("already initialized class variable %s", rb_id2name(id));
|
||||
}
|
||||
st_insert(RCLASS(tmp)->iv_tbl,id,val);
|
||||
if (ruby_verbose) {
|
||||
if (RTEST(ruby_verbose)) {
|
||||
cvar_override_check(id, tmp);
|
||||
}
|
||||
return;
|
||||
|
@ -1488,7 +1486,7 @@ rb_cvar_get(klass, id)
|
|||
while (tmp) {
|
||||
if (RCLASS(tmp)->iv_tbl) {
|
||||
if (st_lookup(RCLASS(tmp)->iv_tbl,id,&value)) {
|
||||
if (ruby_verbose) {
|
||||
if (RTEST(ruby_verbose)) {
|
||||
cvar_override_check(id, tmp);
|
||||
}
|
||||
return value;
|
||||
|
|
Loading…
Reference in a new issue