Commit graph

209 commits

Author SHA1 Message Date
marcandre
04a3668282 * object.c: Make BasicObject.new accept no parameter.
Revert of r26136 [ruby-core:27080], as per [ruby-core:32952].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@29639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-30 02:26:25 +00:00
knu
cb4d196df1 * object.c (rb_obj_singleton_class): new method
Kernel#singleton_class.  [ruby-core:21702]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@27049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-25 18:09:57 +00:00
knu
6476c42337 * object.c, intern.h: Export rb_sym_to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-31 15:14:00 +00:00
marcandre
f59ba093fa * object.c: Object#initialize accepts any number of arguments [ruby-core:27080]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-20 23:15:57 +00:00
marcandre
09a2dd632b * object.c (rb_Float): Allow results of to_f to be NaN [ruby-core:26733]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-06 22:05:35 +00:00
knu
bc078709a5 * object.c (rb_class_initialize): The inherited hook should be run
immediately after a new subclass is created, which is before
  evaluating a given block. [Backport #621]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@25470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-25 11:07:52 +00:00
nobu
3f0d0b9398 * *.[chy]: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@25430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-22 01:00:18 +00:00
nobu
47fc6a3ad0 * io.c (rb_io_open), math.c (domain_check), object.c (boot_defclass):
constified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-16 13:23:04 +00:00
knu
e8b0f17319 * array.c (ary_resize_capa): Remove an unused function.
* array.c, bignum.c, dir.c, enumerator.c, gc.c, io.c, numeric.c,
  object.c, re.c, string.c, struct.c: Mixing two styles is not a
  good thing.  Stick with the K&R style in 1.8.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-23 12:07:23 +00:00
knu
caf54157ec * object.c (rb_convert_type, rb_to_integer)
(rb_check_convert_type): Improve error messages.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-20 13:56:34 +00:00
knu
988ffd3c07 * object.c (rb_any_to_a): Always use "... is deprecated" for a
deprecation warning to make it easier to find out what is
  deprecated and going to be removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-17 11:00:23 +00:00
knu
af2bf6f133 * object.c (rb_obj_id_obsolete): s/will be deprecated/is deprecated/.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-17 09:41:44 +00:00
knu
61812e702b * object.c (sym_to_i, sym_to_int): Add a deprecation warning to
Symbol#to_i.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-17 09:39:04 +00:00
nobu
0fad046449 * object.c (rb_class_superclass): rdoc improvement, a patch from
Gaston Ramos <ramos.gaston AT gmail.com> in [ruby-core:17371].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@17533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-22 00:51:17 +00:00
nobu
a1bfe57fc9 * marshal.c (w_object, marshal_dump, r_object0, marshal_load): search
public methods only.  [ruby-core:17283]

* object.c (convert_type): ditto.

* lib/singleton.rb (Singleton#_dump): conversion method should be
  public.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@17396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-18 03:05:33 +00:00
knu
171c07705a * object.c (rb_obj_alloc): RDoc updated. a patch from Gaston
Ramos <ramos.gaston at gmail.com> in [ruby-core:17073].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-04 10:37:22 +00:00
nobu
1378795e08 * suppress warnings with -Wwrite-string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-31 09:28:20 +00:00
nobu
c7454c6335 * marshal.c (w_object, marshal_dump, r_object0, marshal_load): search
private methods too.  [ruby-dev:34671]

* object.c (convert_type): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-28 03:52:44 +00:00
matz
db21c058e4 * object.c (rb_cstr_to_dbl): should clear errno before calling
strtod(3).  [ruby-dev:34834]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-24 13:33:48 +00:00
knu
bc3ce4588d * eval.c (rb_proc_new, YIELD_FUNC_LAMBDA): Add a new nd_state
YIELD_FUNC_LAMBDA which avoids automatic `avalue' conversion for
  arguments.  This fixes a bug where [1,[2,3]].map(&:object_id)
  fails.

* intern.h, object.c: Hide rb_proc_new() from intern.h.  It should
  not be considered an official API function yet.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 13:51:44 +00:00
knu
a2b186bee4 * eval.c (rb_proc_new): Turn the BLOCK_LAMBDA flag on.
* object.c (sym_to_proc), test/ruby/test_symbol.rb: Add back
  Symbol#to_proc, now that it passes the tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 12:42:57 +00:00
kazu
e103da4e61 * object.c (rb_obj_tap): Correct documentation; pointed out by
okkez in [ruby-dev:34472].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 07:47:11 +00:00
knu
1503012e4f * object.c, NEWS, test/ruby/test_symbol.rb: Revert Symbol#to_proc
since it does not pass the tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-20 09:01:04 +00:00
kazu
f1fca5cef8 should use K&R style function definitions. [ruby-dev:34354]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-13 07:09:37 +00:00
kazu
7cb1d35e23 * object.c (sym_to_proc): new method Symbol#to_proc; backported from 1.9. bug#19012
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-13 07:02:24 +00:00
kazu
b4c621b641 * object.c (rb_obj_tap): new method Object#tap; backported from 1.9. bug#19008
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-11 10:18:55 +00:00
nobu
a6eded88af * object.c (rb_check_to_integer): backported for range_step.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-05 01:05:03 +00:00
matz
641be733a6 * object.c (nil_plus): remove unused function. [ruby-core:13737]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-20 16:18:05 +00:00
knu
618510d30c * object.c (rb_obj_ivar_set): RDoc updated according to a
suggestion from Brian Candler <B.Candler AT pobox.com>.
  [ruby-core:10469]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-03 07:07:44 +00:00
matz
01137aa51a * object.c: Class#inherited RDoc added. a patch from Daniel
Berger <djberg96 at gmail.com>  [ruby-core:08942]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-13 09:25:15 +00:00
matz
efbd0e3b7d * object.c (rb_mod_cvar_defined): wrong id check. [ruby-core:09158]
* object.c (rb_mod_cvar_get): typo fixed.  [ruby-core:09168]

* object.c (rb_mod_cvar_set): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-12 15:35:50 +00:00
nobu
27f97827b1 * object.c (rb_obj_ivar_defined, rb_mod_cvar_defined): new methods,
Kernel#instance_variable_defined? and Module#class_variable_defined?.
  [ruby-dev:29587]

* lib/date/format.rb (Date::Bag#method_missing): use new method,
  instance_variable_defined? to check if an instance variable is
  defined.  fixed: [ruby-dev:29554]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-18 15:43:06 +00:00
matz
b6f0af7888 * string.c (rb_str_intern): raise SecurityError only when $SAFE
level is greater than zero.  [ruby-core:08862]

* parse.y (rb_interned_p): new function to check if a string is
  already interned.

* object.c (str_to_id): use rb_str_intern().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-14 07:25:56 +00:00
nobu
7b0c9cf2e2 * object.c (rb_cstr_to_dbl): limit out-of-range message.
* util.c (ruby_strtod): return end pointer even if ERANGE occurred.
  fixed: [ruby-dev:29041]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-18 01:55:15 +00:00
akr
6828bbeae0 * gc.c: align VALUE with sizeof(RVALUE) globally.
(is_pointer_to_heap): check alignment out of loop.
  (id2ref): avoid collision between symbols and objects.
  (rb_obj_id): ditto.  moved from object.c.
  [ruby-talk:178364] [ruby-core:7401]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-02 10:46:17 +00:00
akr
f7d72f1e65 precedes registering global VALUE variables before initializing it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-12 03:36:49 +00:00
nobu
1cc1c2f77e * object.c (sym_inspect), parse.y (parser_yylex, rb_symname_p): check
if valid as a symbol name more strictly.  [ruby-dev:27478]

* test/ruby/test_symbol.rb: tests for [ruby-core:03573].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-22 04:09:24 +00:00
nobu
e594bf57d8 * class.c (rb_mod_init_copy, rb_class_init_copy), file.c (rb_stat_init_copy),
numeric.c (num_init_copy), object.c (rb_obj_init_copy, Init_Object),
  re.c (match_init_copy, rb_reg_init_copy), time.c (time_init_copy):
  undocumented.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-28 14:42:46 +00:00
matz
7b4486c877 * merged a patch from Takahiro Kambe <taca@back-street.net> to
support DragonFly BSD.  [ruby-dev:26984]

* object.c (rb_mod_cvar_get, rb_mod_cvar_set): document fix from
  sheepman <sheepman@sheepman.sakura.ne.jp>; a bug in visibility
  description.  [ruby-dev:26965]

* sprintf.c (rb_f_sprintf): warn "too many argument" on verbose
  mode (-v/-w); backported from 1.9.  [ruby-dev:26963]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-08 05:59:43 +00:00
nobu
2e37c7fe2f * object.c (rb_to_integer): argument constified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-14 22:25:25 +00:00
matz
a12c1e4bd2 revered all LLP64 modifies due to portability reason.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-27 03:07:02 +00:00
matz
f933f9d3a5 * gc.c (id2ref): must not assign pointers to long int. use
LONG_LONG instead if SIZEOF_LONG < SIZEOF_VOIDP.
  [ruby-talk:149645]

* ruby.h: use LONG_LONG to simplify the change.
  [ruby-talk:149645]

* eval.c (rb_f_throw): replace all '0x%lx' by '%p'.
  [ruby-talk:149553]

* missing/vsnprintf.c (BSD_vfprintf): '%p' need to handle 64bit
  size pointer.  [ruby-talk:149553]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-27 02:42:16 +00:00
matz
bdb357e0d2 * error.c (syserr_initialize): add 1 byte for snprintf() size for
NUL at the end.  [ruby-dev:26574]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-19 14:59:01 +00:00
matz
5b7e24d744 * io.c (rb_io_inspect): replace sprintf() with "%s" format all
over the place by snprintf() to avoid integer overflow.

* sample/svr.rb: service can be stopped by ill-behaved client; use
  tsvr.rb instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-19 08:25:39 +00:00
matz
5dcba62289 * object.c (rb_mod_cvar_get): Module#class_variable_get(): back
ported from CVS HEAD.  [ruby-talk:144741]

* object.c (rb_mod_cvar_set): Module#class_variable_set().
  [ruby-talk:144741]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-07 08:41:55 +00:00
matz
1843d8abbc * struct.c (make_struct): allow const_id for accessor names.
[ruby-core:04585]

* eval.c (rb_attr): check if attribute name is local_id or
  const_id.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-11 01:11:52 +00:00
ocean
a658ebd5bc * object.c (str_to_id): fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-16 13:23:51 +00:00
matz
be458259da * eval.c (rb_call0): reorganize "return" event post.
* object.c (str_to_id): warn for NUL containing strings.

* re.c (make_regexp): need to free internal regexp structure when
  compilation fails.  [ruby-talk:133228]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-16 09:26:38 +00:00
matz
88d5dcc8de * exception error messages updated. [ruby-core:04497]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-28 02:45:23 +00:00
matz
46c954bfda * lib/cgi.rb (CGI::Cookie): [ruby-talk:130040]
* object.c: [ruby-doc:818]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-08 00:51:16 +00:00