Граф коммитов

122 Коммитов

Автор SHA1 Сообщение Дата
shugo 9961c29c25 * eval.c (rb_call0): "return" event hook should be always executed
if event_hooks is set.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-07 08:38:05 +00:00
ocean 17167ece8a * test/ruby/test_env.rb (test_key): should test ENV.key instead of
ENV.index. [ruby-dev:25994]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-06 07:19:54 +00:00
shugo 1429223686 * parse.y (primary): fix lineno of rescue and ensure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-23 07:15:49 +00:00
shugo 93c746f828 * test/ruby/test_settracefunc.rb (test_event): added tests for
"class" and "end" and "raise".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-22 15:43:27 +00:00
shugo 6697b0a728 * test/ruby/test_settracefunc.rb: added test for c-return.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-16 14:47:30 +00:00
akr 22d8da0c27 duplicate tests removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-06 03:02:52 +00:00
gotoyuzo a9fb0817a1 * ext/openssl/ossl_ssl.c (ossl_start_ssl): should wait for that
the underlying IO become readable or writable if the error was
  SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE. [ruby-dev:25795]

* ext/openssl/ossl_ssl.c (ossl_ssl_read, ossl_ssl_write): ditto.

* ext/openssl/lib/openssl/buffering.rb
  (Buffering#consume_rbuf): pointless eof flag resetting is deleted.
  (Buffering#read): should return an empty string if the specified
  size is zero.
  (Buffering#readpartial): new method.
  (Buffering#readline): fix typo.
  (Buffering#getc): return the first character of string correctly.
  (Buffering#readchar): fix typo.
  (Buffering#eof?): should read again it the input buffer is empty.
  (Buffering#do_write): should rescue Errno::EAGAIN.
  (Buffering#puts): use "\n" as the output field separator.

* ext/openssl/extconf.rb: get rid of GNUmakefile generation.

* text/openssl/test_pair.rb: test for IO like methods.

* test/ruby/ut_eof.rb: test about empty file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-05 21:36:11 +00:00
matz 70bbad3cfd * array.c: replace rb_protect_inspect() and rb_inspecting_p() by
rb_exec_recursive() in eval.c.

* eval.c (rb_exec_recursive): new function.

* array.c (rb_ary_join): use rb_exec_recursive().

* array.c (rb_ary_inspect, rb_ary_hash): ditto.

* file.c (rb_file_join): ditto.

* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.

* io.c (rb_io_puts): ditto.

* object.c (rb_obj_inspect): ditto

* struct.c (rb_struct_inspect): ditto.

* lib/set.rb (SortedSet::setup): a hack to shut up warning.
  [ruby-talk:132866]

* lib/time.rb (Time::strptime): add new function.  inspired by
  [ruby-talk:132815].

* lib/parsedate.rb (ParseDate::strptime): ditto.

* regparse.c: move st_*_strend() functions from st.c.  fixed some
  potential memory leaks.

* exception error messages updated.  [ruby-core:04497]

* ext/socket/socket.c (Init_socket): add bunch of Socket
  constants.  Patch from Sam Roberts <sroberts@uniserve.com>.
  [ruby-core:04409]

* array.c (rb_ary_s_create): no need for negative argc check.
  [ruby-core:04463]

* array.c (rb_ary_unshift_m): ditto.

* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
  of StandardError class, not Exception class.  [ruby-core:04429]

* parse.y (fcall_gen): lvar(arg) will be evaluated as
  lvar.call(arg) when lvar is a defined local variable. [new]

* object.c (rb_class_initialize): call inherited method before
  calling initializing block.

* eval.c (rb_thread_start_1): initialize newly pushed frame.

* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
  fixed: [ruby-core:04444]

* eval.c (is_defined): NODE_IASGN is an assignment.

* ext/readline/readline.c (Readline.readline): use rl_outstream
  and rl_instream.  [ruby-dev:25699]

* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check
  [ruby-dev:25675]

* misc/ruby-mode.el: [ruby-core:04415]

* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]

* lib/rdoc/generators/ri_generator.rb: ditto.

* struct.c (make_struct): fixed: [ruby-core:04402]

* ext/curses/curses.c (window_color_set): [ruby-core:04393]

* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
  [ruby-talk:130092]

* object.c: [ruby-doc:818]

* parse.y (open_args): fix too verbose warnings for the space
  before argument parentheses.  [ruby-dev:25492]

* parse.y (parser_yylex): ditto.

* parse.y (parser_yylex): the first expression in the parentheses
  should not be a command.  [ruby-dev:25492]

* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]

* object.c (Init_Object): remove Object#type.  [ruby-core:04335]

* st.c (st_foreach): report success/failure by return value.
  [ruby-Bugs-1396]

* parse.y: forgot to initialize parser struct.  [ruby-dev:25492]

* parse.y (parser_yylex): no tLABEL on EXPR_BEG.
  [ruby-talk:127711]

* document updates - [ruby-core:04296], [ruby-core:04301],
  [ruby-core:04302], [ruby-core:04307]

* dir.c (rb_push_glob): should work for NUL delimited patterns.

* dir.c (rb_glob2): should aware of offset in the pattern.

* string.c (rb_str_new4): should propagate taintedness.

* env.h: rename member names in struct FRAME; last_func -> callee,
  orig_func -> this_func, last_class -> this_class.

* struct.c (rb_struct_set): use original method name, not callee
  name, to retrieve member slot.  [ruby-core:04268]

* time.c (time_strftime): protect from format modification from GC
  finalizers.

* object.c (Init_Object): remove rb_obj_id_obsolete()

* eval.c (rb_mod_define_method): incomplete subclass check.
  [ruby-dev:25464]

* gc.c (rb_data_object_alloc): klass may be NULL.
  [ruby-list:40498]

* bignum.c (rb_big_rand): should return positive random number.
  [ruby-dev:25401]

* bignum.c (rb_big_rand): do not use rb_big_modulo to generate
  random bignums.  [ruby-dev:25396]

* variable.c (rb_autoload): [ruby-dev:25373]

* eval.c (svalue_to_avalue): [ruby-dev:25366]

* string.c (rb_str_justify): [ruby-dev:25367]

* io.c (rb_f_select): [ruby-dev:25312]

* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]

* struct.c (make_struct): [ruby-dev:25249]

* dir.c (dir_open_dir): new function.  [ruby-dev:25242]

* io.c (rb_f_open): add type check for return value from to_open.

* lib/pstore.rb (PStore#transaction): Use the empty content when a
  file is not found.  [ruby-dev:24561]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 06:47:45 +00:00
akr c47ca1f02f add test_rand_0x100000000.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-07 16:11:14 +00:00
akr 16b5ba2707 update readpartial document.
don't try read timeout on Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-08 18:18:36 +00:00
akr 943e67ef97 * random.c (init_by_array): imported from mt19937ar-cok.tgz.
(genrand_int32): ditto.
  (genrand_real): replaced with genrand_res53 in mt19937ar-cok.
  (rand_init): support bignum for longer seed.
  (random_seed): generate longer seed.
  (make_mask): new function.
  (limited_rand): ditto.
  (limited_big_rand): ditto.
  (rb_f_rand): call limited_rand and limited_big_rand.
  [ruby-dev:25403]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-04 17:38:39 +00:00
nobu b6aba9ad54 * test/ruby/test_super.rb (TestSuper#test_define_method): now methods
from procs can call super.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-12 12:32:21 +00:00
nobu e41a1c0f10 * parse.y (string_content): get rid of segfault at empty evstr.
fixed: [ruby-dev:25113]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-08 02:46:39 +00:00
nobu 807a93be08 * test/io/nonblock/test_flush.rb (TestIONonblock#test_flush): write
operation ignores EAGAIN.

* test/ruby/test_super.rb (TestSuper#test_define_method): test for
  super from proc.  [ruby-core:03856]

* test/socket/test_tcp.rb (TestTCPSocket#test_recvfrom): make
  execution order more precise.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-07 18:26:12 +00:00
akr 04f36c2bba * rubyio.h, intern.h, io.c, file.c, process.c, ext/socket/socket.c,
ext/pty/pty.c, ext/io/wait/wait.c, ext/openssl/ossl_ssl.c:
  Use own buffering mechanism instead of stdio.

* io.c, ext/stringio/stringio.c, test/ruby/ut_eof.rb:
  EOF flag removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-06 08:40:30 +00:00
matz 83cb605d69 * object.c (convert_type): [ruby-core:03845]
* eval.c (rb_funcall_rescue): new function.

* object.c (rb_Array): avoid using rb_respond_to().

* object.c (rb_Integer): ditto.

* eval.c (get_backtrace): no conversion for nil.

* parse.y (reduce_nodes): empty body should return nil.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-29 06:09:40 +00:00
ksaito 09542e3269 * regparse.c, test/ruby/test_regexp.rb: fixed problem with UTF-8 characters that have U+00FE or invalid characters.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-28 03:09:13 +00:00
ksaito 5fb312bd18 * regexec.c, test/ruby/test_regexp.rb: fixed segmentation falut ([ruby-dev:24887]).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-28 03:07:48 +00:00
aamine 72a6f92f4e * test/ruby/test_io.rb (test_gets_rs): add more tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-20 17:29:18 +00:00
matz 5e2c8a40c3 * string.c (str_gsub): internal buffer should not be listed by
ObjectSpace.each_object().  [ruby-dev:24919]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-18 16:02:08 +00:00
nobu fc20fdcbc8 * parse.y (f_rest_arg): store rest args into invisible local variabe
in order to get rid of SEGV at ZSUPER.  [ruby-dev:24913]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-18 08:06:09 +00:00
nahi e766a04a57 Wed Nov 17 23:47:30 2004 NAKAMURA, Hiroshi <nakahiro@sarion.co.jp>
* test/ruby/test_settracefunc.rb: added.  [ruby-dev:24884]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-17 14:48:35 +00:00
usa 0935d95369 * test/ruby/test_file.rb (test_truncate_wbuf): we want to test
only File#truncate, not behavior of seek(2).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-11 07:56:38 +00:00
akr 7dc3169658 add a test for a problem of [ruby-talk:116455]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-29 23:22:57 +00:00
akr 1bc4363c5e add test for [ruby-dev:24643].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-29 22:45:13 +00:00
akr 126cd9d01e add test for [ruby-dev:24460]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-09 11:53:16 +00:00
akr 2bd403488d test String#sum for bits=0..7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-03 06:09:54 +00:00
akr 129c02057e add test for String#sum.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-03 06:02:55 +00:00
akr 08907d87e0 add test for [ruby-dev:24060], [ruby-dev:24065], [ruby-dev:24103],
[ruby-dev:24190], [ruby-dev:24191], [ruby-dev:24194], [ruby-dev:24197],
[ruby-dev:24202], [ruby-dev:24213], [ruby-dev:24223] and [ruby-dev:24228].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-07 05:32:26 +00:00
akr 4339612a14 check constants (Fcntl::F_SETFL, Fcntl::F_GETFL and Fcntl::O_NONBLOCK)
instead of trapping NotImplementedError.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-16 05:07:49 +00:00
akr e2e305605d rescue NotImplementedError by fcntl.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-16 05:01:26 +00:00
akr 0e104131b8 add test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-11 16:59:31 +00:00
ocean 84fddcff2f * test/ruby/test_file.rb (test_fnmatch): added more tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-02 14:35:06 +00:00
ocean b9bfdbb13e * util.c (ruby_strtod): should not convert string in the form of
"-I.FE-X" which both "I" and "F" are ommitted. [ruby-dev:23883]

* test/ruby/test_float.rb (test_strtod): add test for bug fix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-14 03:32:20 +00:00
ocean ba0756ca01 * test/ruby/test_file.rb (test_fnmatch): some tests for File.fnmatch
are added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-30 08:02:42 +00:00
akr 500cd0d57d add an assertion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-25 22:59:01 +00:00
usa a28006f959 * sprintf.c (rb_f_sprintf): support FZERO and FSPACE with NaN/Inf.
* test/ruby/test_sprintf.rb (test_nan, test_inf): add tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-22 14:38:21 +00:00
nobu 33b8591248 * eval.c (proc_set_safe_level, proc_invoke, rb_mod_define_method): not
set $SAFE for methods defined from Proc.  [ruby-dev:23697]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-19 04:27:08 +00:00
michal 7a28fb146f Add extend testcase for #first, #last, #shift, #unshift, #pop, #push methods.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-16 11:01:15 +00:00
nobu 07a45c21c0 * test/ruby/test_array.rb: use local variables instead of a global
variable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-16 09:20:36 +00:00
nobu 82572952ec * eval.c (rb_yield_0, proc_invoke, proc_arity): allow passing a block
to a Proc.  [ruby-dev:23533]

* parse.y (block_par, block_var): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-25 02:54:22 +00:00
nobu d3ba99c15f * test/ruby/envutil.rb (EnvUtil::rubybin): give priority to
environment variable.  [ruby-dev:23538]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-19 14:45:49 +00:00
ocean a694dea2d8 * test/ruby/test_float.rb(test_strtod): Add test for signed 0.000...1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-15 08:54:23 +00:00
ocean dca0de4191 * test/ruby/test_float.rb: Add test for util.c revision 1.42.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-14 04:34:07 +00:00
nahi 0603e040b2 * test/ruby/test_float.rb: added test_strtod to test Float("0").
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-09 14:38:11 +00:00
nobu fa7a5d5477 * ext/extmk.rb (extmake): skip uncompiled extensions.
* lib/mkmf.rb (create_makefile): emit no rules for static library if
  $static is nil, e.g., outside of ext/.

* lib/test/unit/ui/console/testrunner.rb (test_started): show test
  name via $0.

* runruby.rb: set environments to use the compiled binary.

* test/runner.rb: do nothing while cross-compiling.

* test/drb/drbtest.rb, test/soap/calc/test_calc_cgi.rb: use envutil to
  know ruby binary.

* test/ruby/envutil.rb: give priority to RUBY environment variable to
  use just compiled binary and libraries.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-08 10:45:21 +00:00
akr 66d0389895 add an assertion for [0x100000000].pack("U").
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-07 06:01:25 +00:00
akr ad47c057c9 add test_symmetry_bignum.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-01 11:32:17 +00:00
akr 9db6fb5ce5 add test_pack_U.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-01 01:53:32 +00:00
akr b3009ced33 add 2 assertions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-31 11:08:16 +00:00