Commit graph

7441 commits

Author SHA1 Message Date
matz
39ecad1339 * ext/dbm/dbm.c (fdbm_delete_if): should check if deleting element
is a string.  [ruby-dev:24490]

* ext/sdbm/init.c (fsdbm_delete_if): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19 19:49:49 +00:00
matz
9f6b3edcd6 * array.c (rb_ary_times): Array#* should return an instance of
the class of right operand.  [ruby-dev:24526]

* ext/zlib/zlib.c (zstream_detach_buffer): should not expose
  class-less object to Ruby world. [ruby-dev:24530]

* eval.c (proc_dup): provide Proc#dup as well.  [ruby-talk:116915]

* eval.c (ruby_exec): stack marking position may be higher than
  expected.  thanks to Guy Decoux.  [ruby-core:03527]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19 19:17:33 +00:00
dave
b9ec9b69a9 Commit missed file.. Sorry folks
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19 16:21:50 +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
eban
79e68a49d9 * ext/tk/MANIFEST: add lib/tkextlib/tcllib/ico.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-18 02:40:13 +00:00
nagai
6fb00e8a1f * ext/tk/lib/tk/timer.rb: TkTimer#start and restart accept a block
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-17 14:05:19 +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
nagai
64422ae494 * ext/tk/lib/tkextlib/tcllib: based on Tcllib 1.7
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-16 02:13:54 +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
gotoyuzo
8c1b803ed4 * ext/openssl/ossl_x509store.c
(ossl_x509stctx_initialize): setup OpenSSL::X509::StoreContext with
  ossl_x509stctx_* functions instead of X509_STORE_CTX_*.
  (ossl_x509store_set_time): add OpenSSL::X509::Store#time=.
  (ossl_x509stctx_set_time): add OpenSSL::X509::StoreContext#time=.

* test/openssl/ossl_x509store.rb: test certificate validity times.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-15 09:16:19 +00:00
nagai
bb4e34110b * ext/tk/lib/tk/timer.rb: TkTimer.new(interval, loop){ ... } is acceptable.
Add TkTimer.start ( == new + start ).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-15 09:06:52 +00:00
nagai
3514110b89 * ext/tk/lib/tk/*: untabify
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-11 04:51:21 +00:00
aamine
493bcc9b64 * ext/ripper/lib/ripper/filter.rb: require ripper/tokenizer.
* ext/ripper/lib/ripper/filter.rb (parse): argument is optional.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-09 17:49:41 +00:00
nagai
d2eea09f4a * ext/tk/lib/tk/optiondb.rb: make it more secure
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-07 16:14:29 +00:00
nagai
c2f8cec766 * ext/tk/lib/tk/scrollbar.rb: When 'set' operation, a scrollbar cannot
propagate view port information from the source widget (that calls
  'set') to other assigned widgets.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-07 14:50:59 +00:00
nagai
046d4e7ee1 * ext/tk/lib/tk.rb: When CHILDKILLED and so on, Tk.errorCode returns
a Fixnum for 2nd element (it's pid) of the return value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-07 08:38:03 +00:00
nobu
790fa9041a * ext/stringio/stringio.c: use FMODE_APPEND.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-06 17:57:19 +00:00
nagai
fd6f4e20cc * ext/tk/lib/tk.rb: add Tk.errorInfo and Tk.errorCode
* ext/tk/lib/tkextlib/bwidget.rb: bug fix


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-06 16:08:45 +00:00
nagai
581ca6097e * ext/tk/lib/tk/image.rb: bug fix
* ext/tk/lib/tk/optiondb.rb: support definition of command resources on widgets


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-04 03:56:00 +00:00
nagai
8e292f6285 * ext/tk/lib/tk/grid.rb: revive TkGrid.grid
* ext/tk/lib/tk/pack.rb: revive TkPack.pack
* ext/tk/lib/tk/place.rb: revive TkPlace.place


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-01 02:27:03 +00:00
nagai
83185f9ff0 * ext/tcltklib/tcltklib.c (ip_init): bug fix
* ext/tk/tkutil.c (get_eval_string_core): accept a Regexp object
* ext/tk/lib/multi-tk.rb: fix bug on 'exit' operation
* ext/tk/lib/tk/text.rb: 'tksearch' accepts a Regexp object as a
  matting pattern argument


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-29 15:54:32 +00:00
matz
30116ff8c2 * array.c (rb_ary_delete): comparison may change the capacity.
[ruby-dev:24348]

* array.c (rb_ary_fill): fill should honor length argument.
  [ruby-dev:24346]

* array.c (rb_ary_replace): should not use ptr from shared array.
  [ruby-dev:24345]

* ext/socket/socket.c (s_accept): don't retry for EWOULDBLOCK.
  [ruby-talk:113807]

* array.c (flatten): element size might change during comparison.
  [ruby-dev:24343]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-29 05:15:33 +00:00
matz
c0a998d027 * parse.y (rb_parser_append_print): should handle prelude.
[llama@u01.gate0]

* parse.y (rb_parser_while_loop): ditto.

* array.c (rb_ary_subseq): original object might be modified after
  sharing data creation.  [ruby-dev:24327]

* array.c (rb_ary_replace): ditto.

* array.c (ary_make_shared): freeze shared array. [ruby-dev:24325]

* struct.c (struct_members): always check struct size and size of
  members list in the class.  [ruby-dev:24320]

* string.c (rb_str_sub_bang): check if string is not modified
  during iteration.  [ruby-dev:24315]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-24 05:53:43 +00:00
aamine
0c9d76889a * ext/ripper/Makefile.dev: removed.
* ext/ripper/ripper.rb.in: moved to lib/ripper/core.rb.in.
* ext/ripper/lib/ripper/core.rb: new file.
* ext/ripper/lib/ripper/core.rb.in: new file.
* ext/ripper/tools/generate-ripper_rb.rb: change comment.
* test/ripper/*.rb: on_scan removed.
* test/ripper/*.rb: event name changed: on__ -> on_.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-23 10:49:11 +00:00
aamine
2c17921671 * parse.y [ripper]: on__scan event removed.
* parse.y [ripper]: event name is changed: on__XXX -> on_XXX.
* ext/ripper/eventids2.c: ditto.
* ext/ripper/ripper.rb.in: ditto.
* ext/ripper/lib/ripper.rb: sync with ripper.rb.in.
* ext/ripper/lib/ripper/tokenizer: ditto.
* ext/ripper/lib/ripper/filter: new file.
* sample/ripper/colorize.rb: new file.
* sample/ripper/strip-comment.rb: new file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-22 05:22:50 +00:00
ttate
f427cf9352 should use 'c' for 'unsigned char ref'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-21 12:47:48 +00:00
aamine
90ae99b0f0 * ext/ripper/lib/ripper/tokenizer.rb: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 08:47:32 +00:00
aamine
2c750e368d * test/ripper/test_scanner_events.rb: tokens must be reordered.
* ext/ripper/lib/ripper/tokenizer.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 08:42:00 +00:00
aamine
b2a700f13e * parse.y [ripper]: do not delay dispatching.
* ext/ripper/lib/ripper/tokenizer.rb: sort tokens by right order.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 07:59:30 +00:00
eban
273d0344a8 * ext/ripper/MANIFEST: add lib/ripper/tokenizer.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 07:16:33 +00:00
aamine
d781183f42 * ext/ripper/lib/ripper/tokenizer.rb: new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 06:18:28 +00:00
aamine
144339d4bc * parse.y [ripper]: adjust lineno and columns for multi-line strings.
* parse.y [ripper]: delay heredocument events until seeing end-of-line.
* parse.y [ripper]: event on__heredoc_contentn -> on__tstring_content.
* ext/ripper/eventids2.c: ditto.
* ext/ripper/lib/ripper.rb: sync with eventids2.c.
* test/ripper/test_scanner_events.rb: test it.
* ext/ripper/tools/generate-ripper_rb.rb: show basename of input.
* ext/ripper/Makefile.dev: support objdir build.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-20 05:40:23 +00:00
aamine
c2c7f4c186 * ext/ripper/ripper.rb.in: new const Ripper::PARSER_EVENT_TABLE.
* ext/ripper/ripper.rb.in: new const Ripper::SCANNER_EVENT_TABLE.
* ext/ripper/lib/ripper.rb: sync with ripper.rb.in.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-19 19:49:56 +00:00
aamine
0ad4ae91ea * parse.y [ripper]: spaces before heredoc marker was lost.
* keywords: rb_reserved_word() should be defined only in ruby core.
* lex.c: sync with keywords.
* ext/ripper/ripper.rb.in (parse): fix typo.
* ext/ripper/lib/ripper.rb: sync with ripper.rb.in.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-19 18:48:29 +00:00
akr
44abd80865 * ext/zlib/zlib.c (gzfile_read_raw): call readpartial at first.
(Zlib::GzipReader#readpartial): new method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-19 18:42:32 +00:00
usa
0a4e53a5c5 * parse.y: add prototypes for Microsoft compiler.
* ext/ripper/depend (parse.obj): lex.c exists at hdrdir.

* {bcc32,win32,wince}/Makefile.sub (YACC, YFLAGS, parse.c):
  use bison.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-17 11:38:49 +00:00
matz
e77ddaf0d1 * array.c (rb_ary_delete): element comparison might change array
size. [ruby-dev:24273]

* parse.y: make ruby parser reentrant. merge ripper parser to the
  real one.  this change makes ruby require bison.

* file.c (rb_file_truncate): clear stdio buffer before truncating
  the file.  [ruby-dev:24191]

* ext/digest/digest.c: use rb_obj_class() instead of CLASS_OF
  which might return singleton class.  [ruby-dev:24202]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-17 09:24:13 +00:00
nagai
7b66963f61 * ext/tk/lib/multi-tk.rb: improve exit operation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-17 07:09:28 +00:00
nagai
2785975489 * ext/tcltklib/tcltklib.c: fix SEGV when (thread_)vwait or (thread_)tkwait
* ext/tk/lib/tk.rb: add alias wait_window to wait_destroy
* ext/tk/lib/multi-tk.rb: support calling 'mainloop' on slave interpreters
  (however, the 'real' eventloop must be run on the Default Master IP)
* ext/tk/lib/remote-tk.rb: follow the changes of ext/tk/lib/multi-tk.rb
* ext/tk/sample/remote-ip_sample2.rb: ditto
* ext/tk/sample/tkoptdb-safeTk.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-17 06:05:33 +00:00
ttate
2ce5bb2594 added 'const char *' to use the type specifier 'S' instead of 'char *'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-16 15:22:20 +00:00
nagai
3c37859186 * ext/tk/lib/tkoptdb-safeTk.rb: fix a bug depend on the changes of MultiTkIp
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-15 11:24:22 +00:00
nagai
011a851696 * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string was en-bugged by the
previous changes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-14 14:59:04 +00:00
aamine
d3bce8cb5a * parse.y [ripper]: space event is on__sp, not on__lwsp. [ruby-dev:24257]
* ext/ripper/eventids2.c: ditto.
* ext/ripper/lib/ripper.rb: ditto.
* ext/ripper/depend (ripper.o): No action is needed. [ruby-dev:24260]
* ext/ripper/depend: Borland make does not accept pipes in Makefile rules. [ruby-dev:24589]
* ext/ripper/depend: separate rules for developpers.
* ext/ripper/Makefile.dev: new file.
* ext/ripper/MANIFEST: add Makefile.dev.
* ext/ripper/tools/generate-eventids1.rb: read from file, not stdin.
* ext/ripper/extconf.rb: clean ripper.E.
* ext/ripper/tools/generate-ripper_rb.rb: #include ids1/ids2 function was lost.
* ext/ripper/tools/generate-ripper_rb.rb: SCANNER_EVENTS wrongly contained parser events.
* ext/ripper/lib/ripper.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-14 11:27:36 +00:00
nagai
1130f2cbfa * ext/tcltklib/tcltklib.c: fix SEGV
* ext/tk/lib/multi-tk.rb: improve safe-level handling of argument proc
* ext/tk/sample/multi-ip_sample.rb: rename of old 'safe-tk.rb'
* ext/tk/sample/safe-tk.rb: new sample script


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-14 08:01:55 +00:00
gotoyuzo
07f245da37 * ext/openssl/ossl_x509name.c (ossl_x509name_to_s): add optional
second argument to specify the output format (see also
  X509_NAME_print_ex).

* ext/openssl/ossl_x509name.c (ossl_x509name_init): new constants:
  OpenSSL::X509::Name::COMPAT, OpenSSL::X509::Name::RFC2253,
  OpenSSL::X509::ONELINE, OpenSSL::X509::MULTILINE.

* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name::RFC2253DN):
  new module to provide the parse for RFC2253 DN format.

* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name.parse_rfc2253):
  new method to parse RFC2253 DN format.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-13 12:35:25 +00:00
nagai
7945cd5978 * ext/tk/lib/multi-tk.rb: MultiTkIp.new_master and new_slave accept
safe-level value argument


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-13 07:25:02 +00:00
aamine
3f5c917860 * ext/ripper/depend: (nmake hack) prepend "./" to ripper.c to avoid {$(srcdir)}.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-13 00:30:47 +00:00
aamine
98258515dd * ext/ripper/tools/list-parse-event-ids.rb: does not use getopts.
* ext/ripper/tools/list-scan-event-ids.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-12 21:44:13 +00:00