зеркало из https://github.com/github/ruby.git
* eval.c (rb_attr): attribute name check added.
* numeric.c (flo_plus): small typo fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
925cb98fe8
Коммит
ce3eb0b204
|
@ -1,3 +1,9 @@
|
|||
Mon Apr 18 15:37:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* eval.c (rb_attr): attribute name check added.
|
||||
|
||||
* numeric.c (flo_plus): small typo fix.
|
||||
|
||||
Mon Apr 18 11:25:14 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
|
||||
|
||||
* ext/zlib/zlib.c (zstream_run): fixed SEGV. [ruby-core:4712]
|
||||
|
|
7
eval.c
7
eval.c
|
@ -624,6 +624,9 @@ rb_attr(klass, id, read, write, ex)
|
|||
}
|
||||
}
|
||||
|
||||
if (!rb_is_local_id(id) && !rb_is_const_id(id)) {
|
||||
rb_name_error(id, "invalid attribute name `%s'", rb_id2name(id));
|
||||
}
|
||||
name = rb_id2name(id);
|
||||
if (!name) {
|
||||
rb_raise(rb_eArgError, "argument needs to be symbol or string");
|
||||
|
@ -635,9 +638,7 @@ rb_attr(klass, id, read, write, ex)
|
|||
rb_add_method(klass, id, NEW_IVAR(attriv), noex);
|
||||
}
|
||||
if (write) {
|
||||
sprintf(buf, "%s=", name);
|
||||
id = rb_intern(buf);
|
||||
rb_add_method(klass, id, NEW_ATTRSET(attriv), noex);
|
||||
rb_add_method(klass, rb_id_attrset(id), NEW_ATTRSET(attriv), noex);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -398,7 +398,7 @@ The variable ruby-indent-level controls the amount of indentation.
|
|||
((and (not (eobp))
|
||||
(ruby-expr-beg 'expr-qstr)
|
||||
(not (looking-at "%="))
|
||||
(looking-at "%[QqrxWw]?\\(.\\)"))
|
||||
(looking-at "%[QqrxWw]?\\([^a-zA-Z0-9 \t\n]\\)"))
|
||||
(goto-char (match-beginning 1))
|
||||
(setq expand (not (memq (char-before) '(?q ?w))))
|
||||
(setq w (match-string 1))
|
||||
|
|
|
@ -593,7 +593,7 @@ flo_minus(x, y)
|
|||
* call-seq:
|
||||
* float * other => float
|
||||
*
|
||||
* Returns a new float with is the product of <code>float</code>
|
||||
* Returns a new float which is the product of <code>float</code>
|
||||
* and <code>other</code>.
|
||||
*/
|
||||
|
||||
|
|
4
struct.c
4
struct.c
|
@ -210,7 +210,7 @@ make_struct(name, members, klass)
|
|||
rb_define_singleton_method(nstr, "members", rb_struct_s_members_m, 0);
|
||||
for (i=0; i< RARRAY(members)->len; i++) {
|
||||
ID id = SYM2ID(RARRAY(members)->ptr[i]);
|
||||
if (rb_is_local_id(id)) {
|
||||
if (rb_is_local_id(id) || rb_is_const_id(id)) {
|
||||
if (i<sizeof(ref_func)) {
|
||||
rb_define_method_id(nstr, id, ref_func[i], 0);
|
||||
}
|
||||
|
@ -496,7 +496,7 @@ inspect_struct(s, dummy, recur)
|
|||
}
|
||||
slot = RARRAY(members)->ptr[i];
|
||||
id = SYM2ID(slot);
|
||||
if (rb_is_local_id(id)) {
|
||||
if (rb_is_local_id(id) || rb_is_const_id(id)) {
|
||||
p = rb_id2name(id);
|
||||
rb_str_cat2(str, p);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче