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

302 Коммитов

Автор SHA1 Сообщение Дата
suke 777ad4ee75 * ext/win32ole/win32ole.c (ole_ptrtype2val): ole_type, ole_type_detail
should not return "VARIANT,VARIANT".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-11 13:45:57 +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
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
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
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 7cc6cded59 * ext/win32ole/win32ole.c: refactoring.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-27 23:46:27 +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
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
suke f700c1354f version 0.8.6.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-20 02:36:54 +00:00
suke e16e6a66ae modify WIN32OLERuntimeError message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-20 02:28:49 +00:00
suke b44bd4c6d3 move all test from ext/win32ole/tests test/win32ole
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-20 00:37:35 +00:00
suke 59835fe865 move some test from ext/win32ole/tests to test/win32ole
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-19 15:17:56 +00:00
suke e538fe5703 add WIN32OLE_VARIANT::Empty, WIN32OLE_VARIANT::Null, WIN32OLE_VARIANT::Nothing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-19 08:22:45 +00:00
suke 72cc74655f IN32OLE_VARIANT.new accepts nil as first argument for some VARIANT TYPE. fix memory leak.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-18 22:08:29 +00:00
suke d2907d42be fix memory leak of win32ole.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-13 14:40:54 +00:00
suke fe6e716424 ext/win32ole/doc removed
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-07 10:51:21 +00:00
suke b84ff5ccb3 add some test. update comment for rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-07 08:56:04 +00:00
suke a782fa1268 add WIN32OLE::VARIANT::VT_NULL, WIN32OLE::VARIANT::VT_EMPTY.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-05 23:38:15 +00:00
ko1 a3e1b1ce7e * Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 15:02:22 +00:00
suke c6defdfa80 remove WIN32OLE::PROPERTY class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-27 12:00:54 +00:00
matz 2156870525 * ruby.h (struct RArray): embed small arrays.
(RARRAY_LEN): defined for accessing array members.
  (RARRAY_PTR): ditto.

* array.c: use RARRAY_LEN and RARRAY_PTR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-02 14:42:08 +00:00
usa 6790891ef0 * ext/Win32API/Win32API.c (Win32API_initialize): use RSTRING_PTR and
RSTRING_LEN.

* ext/tk/stubs.c, ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: ditto.

* ext/win32ole/win32ole.c (ole_val2olevariantdata): ditto.

* lib/mkmf.rb (create_makefile): follow nil.to_s.

* win32/resource.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-31 11:56:42 +00:00
suke 0c2571d621 accept hash argument of Symbol key.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-19 07:53:27 +00:00
suke afdc2b89bd support some kind of method of word. [ruby-Bugs#3237]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-25 08:21:29 +00:00
suke 33311b653c support PROPERTYPUTREF. [ruby-talk:183042]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-18 11:34:53 +00:00
nobu 3e5f70a815 * math.c (log2): may be a macro.
* parse.y (args, block_param, f_args): pass f_post_arg to #params.

* util.c (powersOf10): constified.

* ext/readline/readline.c: include extconf.h first.

* ext/ripper/eventids2.c: removed tLAMBDA_ARG.

* ext/tk/tcltklib.c (lib_fromUTF8_core): removed conflict.

* ext/tk/tkutil/tkutil.c (cbsubst_get_subst_arg): rb_id2name() is
  defined as const now.

* ext/win32ole/win32ole.c (fole_missing): ditto.

* lib/mkmf.rb (create_makefile): force to create extconf header.

* lib/optparse.rb (order!): use Proc#yield.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-09 23:18:04 +00:00
suke 2bdd9d6eba ext/win32ole/win32ole.c (add_event_call_back): should not
delete event handler when the event name is not entried.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-01 09:05:08 +00:00
suke 9154b19bae ole_param_ole_type should return "unknown type" string when ITypeInfo::GetFuncDesc failed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-30 23:37:54 +00:00
suke 2b5beeed15 add test/win32ole/test_win32ole_variant.rb.
ext/win32ole/win32ole.c: use ANSI C style.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-30 13:11:12 +00:00
suke 93f080c12f remove testOLEPARAM.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-08 09:16:58 +00:00
suke 29ba4ff416 add WIN32OLE_METHOD#inspect, WIN32OLE_PARAM#inspect
add test/win32ole/test_win32ole_param.rb


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-08 09:13:30 +00:00
suke de558c7995 remove testOLEPARAM.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-08 09:11:39 +00:00
suke 11974f3b6d WIN32OLE_TYPELIB.new accepts OLE files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-07 13:16:46 +00:00
suke 3ca351ec23 remove testOLEMETHOD.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-01 09:21:27 +00:00
suke 63fa2de637 remove 3 test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-01 06:25:41 +00:00
suke 3ff87cc53f add WIN32OLE_TYPE#inspect, WIN32OLE_VARIABLE#inspect
add test/win32ole and remove some test script from ext/win32ole/tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-01 06:23:07 +00:00
suke 801443f3ac change the behavior of WIN32OLE#[] and WIN32OLE#[]=.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-29 14:12:49 +00:00
usa 5bc9512a0b * ext/win32ole/win32ole.c (folevariant_value): could not compile
with C90 compiler.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-20 02:14:24 +00:00
suke 6c0256933b change behavior of converting OLE Variant object with VT_ARRAY|VT_UI1
and Ruby String object.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-19 00:56:59 +00:00
suke 88ea87db21 * ext/win32ole/win32ole.c(ole_val2olevariantdata): support VT_VARIANT in
WIN32OLE_VARIANT.new().

* ext/win32ole/tests/testOLEVARIANT.rb: ditto.

* ext/win32ole/tests/testOLEPARAM.rb: test method name should not be
  duplicated.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-12 08:09:48 +00:00
suke 9a59edfb4e add WIN32OLE.create_guid.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-11 13:00:46 +00:00
matz 5675cdbd41 * eval.c: unify ruby_class (for method definition) and ruby_cbase
(for constant reference).

* eval.c (rb_call0): use TMP_ALLOC() instead of allocating
  a temporary array object.

* eval.c (eval): need not to protect $SAFE value.
  [ruby-core:07177]

* error.c (Init_Exception): change NameError to direct subclass of
  Exception so that default rescue do not handle it silently.

* struct.c (rb_struct_select): update RDoc description.
  [ruby-core:7254]

* numeric.c (int_upto): return an enumerator if no block is
  attached to the method.

* numeric.c (int_downto): ditto.

* numeric.c (int_dotimes): ditto.

* enum.c (enum_first): new method Enumerable#first to take first n
  element from an enumerable.

* enum.c (enum_group_by): new method Enumerable#group_by that
  groups enumerable values according to their block values.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-03 09:15:42 +00:00
matz 4d467a0865 * ext/digest/digest.c (rb_digest_base_s_digest): add volatile to
protect temporary context object.  [ruby-dev:27979]

* ext/iconv/iconv.c (Init_iconv): rb_gc_register_address() should
  be called before actual variable initialization.
  [ruby-dev:27986]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-12 00:36:54 +00:00
suke 5fad2a15d1 add testNIL2VTEMPTY.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-09 05:04:30 +00:00
suke 5d71328bca avoid core dump with WIN32OLE_EVENT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-23 08:39:24 +00:00
ocean a5df717c8e * ext/win32ole/win32ole.c: supress warnings. (win32)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-25 06:51:33 +00:00
suke 3dec8be265 refactoring
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-20 12:04:02 +00:00
suke ad4ef9cf0a add test script to check WIN32OLE can invoke InvokeVerb of FolderItem2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-20 07:34:34 +00:00
suke ba30d87a36 add WIN32OLE_VARIANT class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-13 12:22:12 +00:00
suke 31c063eac3 add WIN32OLE_VARIANT class
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-13 12:13:20 +00:00
suke f50c302e77 * ext/win32ole/win32ole.c (WIN32OLE_EVENT#on_event): should set
only one event handler.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-12 12:58:47 +00:00
suke 14f0a0d0bd add WIN32OLE_TYPE#ole_typelib, WIN32OLE_TYPE#implemented_ole_types.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-30 09:51:48 +00:00
suke a2ae6182ae convert dispid in Ruby and C by INT2NUM and NUM2INT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-09 13:03:10 +00:00
suke 9f6d8980ff * ext/win32ole/tests/testWIN32OLE.rb: add test for WIN32OLE.codepage=
* ext/win32ole/tests/testOLETYPELIB.rb: correct expected message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-15 13:43:32 +00:00
suke 6a63e942ba ext/win32ole/win32ole.c(ole_invoke): retry after converting Qnil
to VT_EMPTY.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-15 13:05:01 +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
suke 4cbaddcf8c * ext/win32ole/win32ole.c: rename WIN32OLE#ole_obj_help to
WIN32OLE#ole_type. alias ole_obj_help to ole_type.

* ext/win32ole/tests/testWIN32OLE.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-06 11:42:35 +00:00
suke e4a65e4427 ext/win32ole/win32ole.c(typelib_file_from_typelib): search "win16"
entry to get library path.

ext/win32ole/win32ole.c(oletypelib_path): ditto.

ext/win32ole/win32ole.c(ole_typedesc2val): add VT_LPWSTR, VT_LPSTR,
VT_ERROR case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-04 12:12:59 +00:00
suke cfc8755faf add rdoc style document.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-03 11:35:27 +00:00
eban 49fb289ea1 * MANIFEST, ext/**/MANIFEST: removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-01 10:13:52 +00:00
suke c6cf2e24fe add WIN32OLE.codepage, WIN32OLE.codepage=
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-31 07:59:58 +00:00
eban 1c0b6e5829 * ext/win32ole/MANIFEST: added tests/testOLETYPELIB.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-30 08:17:40 +00:00
matz 3e9e2bd4ed * eval.c (rb_eval): NODE_XSTR should pass copy of literal string.
* array.c (rb_ary_update): a[n,m]=nil no longer works as element
  deletion.

* enum.c (enum_sort_by): protect continuation jump in.
  [ruby-dev:24642]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-30 06:56:18 +00:00
suke ad2c05f1c0 ext/win32ole/win32ole.c: add WIN32OLE_TYPELIB class. add
WIN32OLE#ole_typelib method.

ext/win32ole/tests/testOLETYPELIB.rb: add WIN32OLE_TYPELIB class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-30 06:25:00 +00:00
suke 9ec1f6d27e remove ext/win32ole/.document.
add win32ole ext/.document.
create .document dynamically by extconf.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-21 15:10:06 +00:00
suke 05a43e2367 * ext/win32ole.c(ole_invoke): retrieve the result value when
retrying the IDispatch::invoke.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19 11:40:33 +00:00
matz 1057902ac7 * io.c (read_all): block string buffer modification during
rb_io_fread() by freezing it temporarily. [ruby-dev:24479]

* dir.c (rb_push_glob): block call at once the end of method.
  [ruby-dev:24487]

* ext/enumerator/enumerator.c (enum_each_slice): remove
  rb_gc_force_recycle() to prevent potential SEGV.
  [ruby-dev:24499]

* ext/zlib/zlib.c (zstream_expand_buffer): hide internal string
  buffer by clearing klass.  [ruby-dev:24510]

* ext/socket/socket.c (sock_s_getservbyaname): protocol string
  might be altered.  [ruby-dev:24503]

* string.c (rb_str_upto): check if return value from succ is a
  string.  [ruby-dev:24504]

* io.c (rb_io_popen): get mode string via rb_io_flags_mode() to
  avoid mode string modification.  [ruby-dev:24454]

* io.c (rb_io_getline_fast): should take delim as unsigned char to
  distinguish EOF and '\377'.  [ruby-dev:24460]

* io.c (rb_io_getline): add check for RS modification.
  [ruby-dev:24461]

* enum.c (enum_sort_by): use qsort() directly instead using
  rb_iterate().  [ruby-dev:24462]

* enum.c (enum_each_with_index): remove rb_gc_force_recycle() to
  prevent access to recycled object (via continuation for
  example).  [ruby-dev:24463]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19 10:25:23 +00:00
suke deaed31974 * ext/win32ole/win32ole.c (fole_func_methods): correct argument mismatch.
* ext/win32ole/win32ole.c (fole_get_methods): ditto.
	* ext/win32ole/win32ole.c (fole_put_methods): ditto.
	* ext/win32ole/tests/testWIN32OLE.rb: add test for WIN32OLE#ole_func_methods
	  WIN32OLE#ole_get_methods, WIN32OLE#ole_put_methods


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-17 04:02:16 +00:00
suke f282f05fbc .document : entry win32ole.c for rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-15 14:49:44 +00:00
suke 4e5c3ea0dc .document : entry win32ole.c for rdoc.
MANIFEST : add .document


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-15 14:43:39 +00:00
ocean 42f00af5e3 * ext/win32ole/win32ole.c (ole_hresult2msg): remove trailing
CR and LF. (doesn't depend on CR+LF) [ruby-dev:23694]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-22 15:21:03 +00:00
suke 29904b93f4 * ext/win32ole/win32ole.c (OLE_FREE): should not call CoFreeUnuse-
dLibraries().

    * ext/win32ole/win32ole.c (ole_event_free): ditto.

    * ext/win32ole/win32ole.c (ole_hresult2msg): truncate error message
      before CR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-22 12:22:01 +00:00
suke 3a8d8654f7 * win32ole.c: add RDoc style comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-08 03:54:51 +00:00
matz 919f456de8 * exception message clean-up by Ian Macdonald <ian@caliban.org>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-29 07:54:38 +00:00
eban 953caaf959 * ext/win32ole/win32ole.c: need to include <olectl.h> on Cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-18 08:22:18 +00:00
suke d780328362 add IDispatch wrapper in val2variant
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-15 06:53:15 +00:00
usa 879da80895 * ext/win32ole/win32ole.c (set_argv): fix condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-27 01:35:53 +00:00
nobu 6e0b3ca606 * ext/extmk.rb: Makefiles should depend on also rbconfig.rb.
(ruby-bugs:PR#1256)

* ext/win32ole/win32ole.c (set_argv): set real arguments to
  WIN32OLE::ARGV.  [ruby-list:39073]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-26 02:35:30 +00:00
matz 8ef5da3be1 consistent parentheses in assignment RHS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-16 17:47:19 +00:00
eban 5d0f8cdc6f * ext/win32ole/extconf.rb: check "windows.h", not "windows".
[ruby-talk:84051]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-12 05:46:59 +00:00
eban 3015c5f7cb * ext/win32ole/extconf.rb: add windows.h checking.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-29 10:08:20 +00:00
nobu 5747a6c480 * ext/win32ole/win32ole.c, ext/openssl/ossl_pkey_dsa.c,
ext/openssl/ossl_pkey_rsa.c, ext/bigdecimal/bigdecimal.h: must
  not use C++ or C99 style comment yet.  (ruby-bugs:PR#1184)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-24 22:55:33 +00:00
suke 2f2cb647c1 * ext/win32ole/win32ole.c (OLE_FREE): should not call
ole_message_loop.

* ext/win32ole/win32ole.c (ole_event_free): ditto.

* ext/win32ole/win32ole.c (ole_initialize): stop calling
  OleUninitialize at exit.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-14 11:01:43 +00:00
matz 7406260aed * eval.c (rb_disable_super, rb_enable_super): deprecate.
* eval.c (thgroup_s_alloc): re-implement group struct.

* eval.c (thgroup_add): add check for enclose and frozen status.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-16 07:11:30 +00:00
aamine 9d05b9a4b3 * io.c (io_close): missing prototype.
* ext/socket/socket.c (bsock_do_not_rev_lookup_set): ditto.
* ext/win32ole/win32ole.c (foletype_guid, foletype_progid): ditto.
* error.c (syserr_initialize): length argument of sprintf() is an int.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-23 14:55:09 +00:00
usa 51e7fc687e * ext/dl/dl.c (rb_dl_callback): use rb_block_proc() instead of
rb_block_new().

	* ext/win32ole/win32ole.c (ev_on_event): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-16 07:25:38 +00:00
matz bad7546f15 * gc.c (define_final): eliminate rb_f_lambda() call.
* class.c (rb_scan_args): ditto.

* signal.c (sig_trap): ditto.

* hash.c (rb_hash_initialize): ditto.

* variable.c (rb_f_trace_var): ditto.

* ext/dl/dl.c (rb_dl_callback): ditto.

* ext/win32ole/win32ole.c (ev_on_event): ditto.

* eval.c (ruby_cleanup): $SAFE is turned off in the finalization.
  Each END proc should preserve its own $SAFE level. [ruby-core:01119]

* marshal.c (marshal_load): remove unused variable "hash".
  [ruby-core:01120]

* hash.c (env_str_new): freeze strings from ENV. [ruby-talk:72860]

* array.c (rb_ary_first): optional argument to retrieve first n
  elements.

* array.c (rb_ary_last): optional argument to retrieve last n
  elements.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-06 09:44:22 +00:00
suke 7e190d7568 add WIN32OLE_TYPE#to_s method.
add WIN32OLE_VARIABLE#to_s method.
add WIN32OLE_METHOD#to_s method.
add WIN32OLE_PARAM#to_s method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-17 13:49:08 +00:00
suke 49cd34df39 secure check when safe level 4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-03 02:17:26 +00:00
usa b469f3155a * array.c (ary_alloc), dir.c (dir_s_alloc), eval.c (thgroup_s_alloc),
file.c (rb_stat_s_alloc), hash.c (hash_alloc), io.c (io_alloc),
  object.c (rb_module_s_alloc, rb_class_allocate_instance),
  re.c (match_alloc, rb_reg_s_alloc), string.c (str_alloc),
  time.c (time_s_alloc), ext/digest/digest.c (rb_digest_base_alloc),
  ext/tcltklib/tcltklib.c (ip_alloc),
  ext/win32ole/win32ole.c (fole_s_allocate, fev_s_allocate)
  : add prototype to get rid of VC++ warnings.

* ext/sdbm/init.c (fsdbm_alloc): allocator takes only one argument.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-21 18:02:01 +00:00
nobu 3780ede6ef * ext/curses/curses.c, ext/digest/digest.c, ext/dl/handle.c,
ext/dl/ptr.c, ext/dl/sym.c, ext/gdbm/gdbm.c, ext/iconv/iconv.c,
  ext/stringio/stringio.c, ext/strscan/strscan.c,
  ext/tcltklib/tcltklib.c, ext/win32ole/win32ole.c:
  use rb_define_alloc_func().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-20 11:23:40 +00:00
nobu d45f226da9 * configure.in (LIBPATHFLAG): avoid $ substitution.
[ruby-dev:18577]

* ext/extmk.rb (extmake): expand $srcdir.

* ext/win32ole/extconf.rb: should not override $CFLAGS, but
  append.

* lib/mkmf.rb (config_string): use given config hash.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-24 12:58:42 +00:00
suke 9dce0d8f0b * win32ole.c(EVENTSINK_Invoke): set pvarResult.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-17 12:35:48 +00:00
eban 4f26f3b890 * configure.in: modify program_prefix only if specified
--program-prefix.

* configure.in: don't generate ext/extmk.rb.

* Makefile.in: execute directly $(srcdir)/ext/extmk.rb.
  remove -Cext option, "Dir::chdir 'ext'" in ext/extmk.rb.

* {win32,bccwin32}/Makefile.sub: ditto.

* instruby.rb: ditto.

* ext/extmk.rb: renamed from ext/extmk.rb.in.

* lib/mkmf.rb (module Logging): create log files (mkmf.log)
  in each extension module directories.

* ext/extmk.rb: ditto.

* lib/mkmf.rb (macro_defined?): new method.

* ext/.cvsignore: remove extmk.rb.

* ext/*/.cvsignore: add "*.def".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 09:08:15 +00:00
suke 674f0aa478 win32ole.c(fole_each) : ensure to release IEnumVARIANT interface.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-01 08:14:11 +00:00
suke 8d330378ca ole_invoke: retry when calling by reference is fail.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-13 12:07:33 +00:00
suke d1bdb139ea * win32ole.c(WIN32OLE#ole_methods): list up all methods.
* win32ole.c(WIN32OLE#ole_method_help): get all method information.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-10 12:19:16 +00:00
suke 698e61aaa7 avoid some warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-12 12:23:10 +00:00
suke a52442f27e change PLATFORM with RUBY_PLATFORM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-03 11:44:08 +00:00
suke f14180707d merge win32ole from rough
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-01 12:34:30 +00:00