Commit graph

12086 commits

Author SHA1 Message Date
ko1
78029f00d5 * parse.y (new_yield), compile.c (iseq_compile_each): fix
passing parameter.
* eval.c, eval_jump.h: simplify rb_yield*.
* proc.c (proc_mark): fix to mark proc->block.proc.
* proc.c (Init_Proc): add Proc#lambda?
* test/ruby/test_lambda.rb: add some tests.
* vm.c (invoke_block): fix to check lambda block or not.
* vm.c (th_yield_setup_args): fix to check arguments size
  when lambda block.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-05 17:26:00 +00:00
naruse
af1c416728 * lib/json.rb, lib/json, ext/json, test/json:
import JSON library.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-04 12:31:26 +00:00
ko1
6b3ef2249c * cont.c (Fiber#pass): rename to Fiber#yield. Block parameter
of fiber body receive first yield values.
  e.g.: Fiber.new{|x| p x}.yield(:ok) #=> :ok
* cont.c: rename rb_context_t#retval to rb_context_t#value.
* test/ruby/test_fiber.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-02 07:48:29 +00:00
ko1
284565992f * cont.c (cont_capture): store all local variables in heap
([ruby-dev:30832]).
* vm.c (th_stack_to_heap): added.
* test/ruby/test_continuation.rb: add a test for above.
* eval_intern.h (th_get_ruby_level_cfp): fix to clean code.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-30 05:56:13 +00:00
ko1
d64609463f * cont.c: fix bug around Continuation and Fiber.
* test/ruby/test_continuation.rb: add tests for Continuation.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-29 01:59:53 +00:00
ko1
57062d91b9 * cont.c: support Fiber. Check test/ruby/test_fiber.rb for detail.
Fiber is known as "Micro Thread", "Coroutine", and other terms.
  At this time, only Fiber#pass is supported to change context.
  I want to know more suitable method name/API for Fiber (... do you
  know more suitable class name instead of Fiber?) as "suspend/resume",
  "call", "yield", "start/kick/stop/restart", ....
* eval.c, eval_intern.h, thread.c, yarvcore.c, yarvcore.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-27 19:12:43 +00:00
nobu
a1cb9efd34 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e 2007-05-25 15:04:05 +00:00
nobu
2b9cbceb5e * test/ruby/test_beginendblock.rb (test_endblockwarn): now parser
warnings emit source names and line numbers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-15 07:38:59 +00:00
aamine
22d6ff16d3 * lib/net/http.rb (tokens): forgot to add strip. [ruby-core:11120]
* test/net/http/test_http.rb: test Net::HTTP.post_form.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-12 09:25:56 +00:00
usa
54420c2614 * test/ruby/test_super.rb: add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-10 06:17:07 +00:00
kou
1548542f21 * lib/rss/image.rb, test/rss/test_image.rb: fixed Image module
namespace URI. reported by Dmitry Borodaenko. Thanks.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-07 02:02:50 +00:00
ko1
75d28f8870 * yarvcore.h, compile.c (set_arguments): support post arguments.
* test/ruby/test_method.rb: add tests for above.
* test/ruby/test_proc.rb: ditto.
* proc.c: fix an arity bug ([ruby-core:11029]).
* vm.c, vm.h, insns.def, vm_dump.h: fix bmethod process.
* vm.c: support block argument on block parameter.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-01 04:35:58 +00:00
ko1
a73894337a * eval.c, node.h, thread.c, yarvcore.[ch], eval_intern.h:
support set_trace_func (incomplete.  id and klass
  don't be passed).  And support Thread#set_trace_func
  which hook only specified thread and Thread#add_trace_func
  which add new trace func instead of replace old one.
  C level API was modified.  See thread.c (logic) and
  yarvcore.h (data structures).
* vm.c, vm_macro.def: add hook points.
* compile.c, insns.def: fix "trace" instruction.
* iseq.c, vm_macro.h: add compile option "trace_instruction".
* test/ruby/test_settracefunc.rb: hook "c-return" of set_trace_func.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-19 10:37:08 +00:00
usa
4be1dfb9fa * test/ruby/test_bignum.rb (test_to_s): add tests for Bignum#to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-22 01:28:23 +00:00
ntalbott
25ac9f24fd * test/testunit/collector/test_dir.rb: Fixed test/unit tests that
were breaking due to Module#public_instance_methods now 
  returning a Symbol instead of a String.

* test/testunit/collector/test_objectspace.rb: Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-20 23:29:49 +00:00
kou
966a25465a * lib/rss, test/rss:
- supported Atom.
  - bumped version 0.1.6 to 0.1.7.
* sample/rss/convert.rb: added new sample.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-17 10:13:25 +00:00
suke
c769454c0e * ext/win32ole/win32ole.c: add WIN32OLE_TYPELIB#library_name,
WIN32OLE_TYPELIB#visible?.

* test/win32ole/test_win32ole_typelib.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-09 22:21:59 +00:00
suke
e8783d008c * ext/win32ole/win32ole.c (get_ptr_of_variant, ole_set_safe_array,
ole_val2ptr_variant, ole_val2olevariantdata, ole_variant2val,
  ): fix some bugs of WIN32OLE_VARIANT.new when variant type is 
  VT_ARRAY|VT_BSTR or VT_BYREF.

* ext/win32ole/win32ole.c (folevariant_s_array, folevariant_initialize):
  WIN32OLE_VARIANT#[], WIN32OLE_VARIANT#[]=, WIN32OLE_VARIANT#value=
  is defined as instance method of WIN32OLE_VARIANT.

* test/win32ole/test_win32ole_variant.rb: add some test for 
  VT_ARRAY, VT_BYREF variant type.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-02 12:35:02 +00:00
usa
c67d0e35e7 * test/{dbm,gdbm}/test_{dbm,gdbm}.rb: shouldn't use host_os. use
target_os instead. [ruby-list:43225]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-27 16:22:10 +00:00
aamine
c2d5527bff * test/ruby/test_optimization.rb: restore method before calling assert_equal.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-26 15:45:52 +00:00
shugo
1adef15072 * lib/thread.rb (ConditionVariable#broadcast): use Mutex
instead of Thread.exclusive.

* lib/monitor.rb (MonitorMixin#mon_exit): unset @mon_owner
  before calling Mutex#unlock.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 07:01:18 +00:00
ko1
0fe72040e4 * parse.y, node.h, compile.c: change node tree structure. a purpose
of this change is to unify argument structure of method and block.
  this change prohibits duplicate block parameter name.
  new argument infromation:
  NODE_ARGS     [m: int, o: NODE_OPT_ARG, ->]
  NODE_ARGS_AUX [r: ID, b: ID, ->]
  NODE_ARGS_AUX [Pst: id, Plen: int, init: NODE*]
  optarg information:
  NODE_OPT_ARGS [idx, expr, ->]
* vm_macro.def: ditto.
* gc.c: ditto.
* iseq.c: ditto.
* compile.h: fix debug function name.
* test/ripper/test_scanner_events.rb: |_,_,foo| -> |_1,_2,foo|
* test/ruby/test_lambda.rb: disalbe test temporarily.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 02:07:05 +00:00
ko1
c5148e0383 * test/testunit/test_testcase.rb: catch up with current instance
variable spec.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 01:49:43 +00:00
suke
1fcf93350f * ext/win32ole/win32ole.c: add WIN32OLE_VARIANT.array,
WIN32OLE_VARIANT#value=, refactoring.

* test/win32ole/test_win32ole_variant.rb: add some test for
  WIN32OLE_VARIANT.array, WIN32OLE_VARIANT#value=.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 22:39:25 +00:00
aamine
bd3ee06295 * test/ruby/test_yield.rb: new test.
* yarvtest/test_yield.rb: removed (moved to test_yield.rb).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 09:38:08 +00:00
aamine
bcd3345136 * test/ruby/test_optimization.rb: new test (merges test_opts.rb).
* yarvtest/test_opts.rb: removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 09:13:49 +00:00
aamine
f52fd2165b * test/ruby/test_assignment.rb: merge yarvtest/test_massign.
* yarvtest/test_massign.rb: removed (merged to test_assignment.rb).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 07:59:54 +00:00
aamine
f35a641adb * test/ruby/test_primitive.rb: new test.
* yarvtest/test_bin.rb: removed (altered by test/ruby/test_{literal,primitive}.rb).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 06:41:25 +00:00
aamine
a9921d08f9 * test/ruby/test_literal.rb: new test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 05:23:33 +00:00
ko1
db95cb49af * test/io/nonblock/test_flush.rb: YARV doesn't raise any errors if
another thread close IO object which current thread is blocking with.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-20 06:11:37 +00:00
ko1
353cd25170 * object.c (rb_obj_ivar_set/get/defined): fix to check :@_v/C id.
* test/testunit/test_testcase.rb: fix to use instance_variable_get()
  to access @_result.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-16 12:36:49 +00:00
ko1
a8d47615da * test/fileutils/test_fileutils.rb (check_singleton): fix to use
symbole instead of string.
* test/io/nonblock/test_flush.rb: enable tests.
* test/xmlrpc/test_webrick_server.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-14 16:53:00 +00:00
kou
4924197d1c * lib/rss/dublincore.rb, lib/rss/maker/dublincore.rb: dc_rightses
-> dc_rights_list. dc_rightses still exists for backward
  compatibility. [ruby-core:8350]
* test/rss/test_maker_dc.rb: added tests for dc_rights_list.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-12 02:52:32 +00:00
suke
70db47aadb * ext/win32ole/win32ole.c (ole_val2olevariantdata):
WIN32OLE_VARIANT#new accepts nil when variant type is VT_ARRAY.

* test/win32ole/test_win32ole_variant.rb: ditto.

* ext/win32ole/win32ole.c: small refactoring.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-11 09:53:10 +00:00
suke
7634900b4e * ext/win32ole/win32ole.c: add WIN32OLE#ole_query_interface.
thanks to Mikael Pahmp.

* test/win32ole/test_win32ole.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-10 11:29:49 +00:00
ko1
5ab816f7f7 * test/ruby/test_readpartial.rb: tests are working on mswin32/cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-09 02:07:34 +00:00
suke
990ae267cd * ext/win32ole/win32ole.c (ole_set_safe_array, ole_variant2val,
ole_val_ary2variant_ary): fix WIN32OLE_VARIANT.new bug when
  1st argument is empty array, and when 2nd argument is 
  VT_ARRAY|VT_BYREF.

* test/win32ole/test_win32ole_variant.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-08 13:48:16 +00:00
ko1
9e24950816 * test/ruby/test_clone.rb: fix to current spec
(Module should not be occur many times in ancestors).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-08 13:32:01 +00:00
ko1
a0abd3c4b1 * test/ruby/test_string.rb: ("foo" == :foo) and ("foo" === :foo)
should be false.
* ChangeLog: fix last messages.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-08 13:28:03 +00:00
ko1
cff97cc9f0 * test/ruby/test_module.rb: fix to use Symbol instead of String
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-08 13:24:11 +00:00
ko1
86846f0ee5 * test/ruby/marshaltestlib.rb: eval(sym) -> eval(sym.to_s)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-08 13:03:54 +00:00
suke
dd4d9d63f0 * test/win32ole/test_propertyputref.rb (setup): fix typo.
* test/win32ole/test_win32ole_event.rb: should not use
  InternetExplorer.gohome to test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-08 13:00:06 +00:00
kou
d9046f918d * test/rss/rss-assertions.rb: removed needless code for backward compatibility.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-04 11:36:12 +00:00
suke
d4b866914b * ext/win32ole/win32ole.c (ole_val2olevariantdata, ole_val2variant):
fix the bug of WIN32OLE_VARIANT.new when variant type is 
  VT_ARRAY.

* ext/win32ole/sample/excel1.rb: rewrite using WIN32OLE_VARIANT.

* test/win32ole/test_win32ole.rb: add some test.

* test/win32ole/test_win32ole_variant.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-03 05:41:03 +00:00
matz
ff95fbdea8 * test/ruby/test_iterator.rb (TestIterator::test_block_given_within_iterator):
add new test.  [ruby-core:10125]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-31 05:54:42 +00:00
suke
883f34f777 * ext/win32ole/win32ole.c: add WIN32OLE.locale=, WIN32OLE.locale,
WIN32OLE_VARIANT#vartype.

* test/win32ole/test_win32ole.rb: add test for WIN32OLE.locale=,
  WIN32OLE.locale.

* test/win32ole/test_win32ole_variant.rb: add test for 
  WIN32OLE_VARIANT#vartype.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-29 12:41:50 +00:00
suke
68daaab409 * ext/win32ole/win32ole.c (ole_val2olevariantdata): bug fix.
WIN32OLE_VARIANT.new check that 1st argument should T_ARRAY
  when variant type is VT_ARRAY.

* test/win32ole/test_win32ole_variant.rb: add some test. 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-27 09:46:34 +00:00
suke
bb435c7a6c bug fix of WIN32OLE_VARIANT when variant type is VT_BYREF|VT_VARIANT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-26 15:03:43 +00:00
kou
df7c570713 * test/ruby/test_iterator.rb: removed a needless workaround.
approved by ko1.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-24 11:35:52 +00:00
suke
3b5dbc4b06 WIN32OLE.codepage= accepts installed codepage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-20 12:12:36 +00:00