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

2154 Коммитов

Автор SHA1 Сообщение Дата
nobu 0b3a667f53 * dir.c (dir_tell): check if closed. [ruby-core:16223]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-06 00:45:02 +00:00
matz 2b8af7d624 * re.c (rb_memsearch_qs): wrong boundary condition. a patch from
wanabe <s.wanabe AT gmail.com> in [ruby-dev:34248].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-04 05:13:06 +00:00
nobu 5c1926ac82 * compile.c (iseq_set_sequence, iseq_insns_unification,
insn_data_to_s_detail): constified.

* iseq.c (insn_operand_intern, ruby_iseq_disasm_insn): ditto.

* template/{insns_info,opt_sc,optunifs}.inc.tmpl: ditto.

* tool/instruction.rb (OptUnifsIncGenerator): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-03 00:00:48 +00:00
matz f67f196b1d * rational.c (nurat_int_check): function for DRY integer check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-02 13:31:42 +00:00
nobu 29b538fa71 * lib/resolv.rb (Resolv::Config.default_config_hash): requires
win32/resolv to use Win32::Resolv.  [ruby-dev:34138]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-31 16:55:54 +00:00
naruse 839dc7f9ab * io.c (io_getc): set coderange while getting characters.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-30 19:16:29 +00:00
matz ef260b085e revert git backfire in r15860; sorry
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-30 15:00:12 +00:00
matz 3730710d79 * proc.c (proc_dup): should copy is_lambda attribute as well.
[ruby-talk:296244]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-30 14:50:55 +00:00
nobu a367738381 * 2008-03-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-29 12:42:31 +00:00
usa a099df6bbf * 2008-03-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-28 11:23:08 +00:00
mame 43a2aaea2f * test/ruby/test_rational.rb: add tests to achieve over 90% test
coverage of rational.c.

* test/ruby/test_complex.rb: ditto for complex.c.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-25 15:30:56 +00:00
nobu f2025c33ff * compile.c (compile_massign_opt): no need to use alloca.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-25 06:09:38 +00:00
nobu 1b6572295a * configure.in: sitearch should use target_cpu. [ruby-core:15986]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-24 01:25:56 +00:00
mame b9fd3e4e85 * complex.c (nucomp_sub, nucomp_expt): call corresponding functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-20 16:41:51 +00:00
nobu 42522ee2a6 * io.c (argf_tell, argf_seek_m, argf_set_pos, argf_rewind,
argf_fileno, argf_to_io, argf_eofl, argf_getc, argf_getbyte,
  argf_readchar, argf_readbyte, argf_each_line): use receiver.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-19 15:14:01 +00:00
matz f55963c939 * regint.h (CHECK_INTERRUPT_IN_MATCH_AT): add interrupt check
during match.  [ruby-talk:295002]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-19 01:19:29 +00:00
naruse e58adeae0f * re.c (rb_memsearch_ss): simple shift search.
* re.c (rb_memsearch_qs): quick search.

* re.c (rb_memsearch_qs_utf8): quick search for UTF-8 string.

* re.c (rb_memsearch_qs_utf8_hash): hash functions for above.

* re.c (rb_memsearch): use above functions.

* string.c (rb_str_index): give enc to rb_memsearch.

* include/ruby/intern.h (rb_memsearch): move to encoding.h.

* include/ruby/encoding.h (rb_memsearch): move from intern.h.

* common.mk (PREP): add dependency.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-17 19:04:29 +00:00
nobu a4394e3f49 * configure.in: unset GREP_OPTIONS. [ruby-core:15918]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-17 07:41:12 +00:00
naruse 9e202f9398 * common.mk (LIBRUBY_SO): add dependency to $(BUILTIN_ENCOBJS).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-16 08:31:00 +00:00
matz 2694b2f937 * encoding.c (rb_enc_associate_index): pass unnecessary enc_capable().
* string.c (rb_str_cmp): reduce invocation of rb_enc_compatible().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-15 09:19:38 +00:00
matz c7bea6f6e7 * numeric.c (fix_divmod): should return integer division. [ruby-dev:34006]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-13 16:37:54 +00:00
nobu db49143cda * configure.in (stdint.h): check if presence.
* configure.in (uint32_t): check if defined.

* string.c (hash): fix for portability.  [ruby-dev:34020]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-12 16:45:28 +00:00
matz 8f14847366 * array.c (rb_ary_combination): argument check before creating
Enumerator.

* array.c (rb_ary_permutation): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-11 16:15:14 +00:00
matz 8149168db6 * ruby.c (usage): remove some unimportant lines to fit -h message
in a page.  [ruby-dev:34018]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-10 15:47:47 +00:00
naruse f55b10c001 * string.c (rb_str_index): if t == s + pos, the character beginning
from s + pos is valid.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-09 18:51:46 +00:00
naruse a39feece85 * string.c (search_nonascii): Use VALUE instead of unsigned long
because VALUE can be the fastest unsigned integer type.
  On LLP64 unsigned long isn't the fastest.
* string.c (str_strlen): ditto.
* string.c (str_utf8_nth): ditto.
* string.c (count_utf8_lead_bytes_with_ulong): ditto.

* string.c (count_utf8_lead_bytes_with_word): renamed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-08 09:05:34 +00:00
usa 643d2bad07 * 2008-03-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-07 10:22:10 +00:00
nobu 79cdf2ffa2 * struct.c (make_struct): preserve encoding of struct name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-05 15:31:42 +00:00
matz 413db1b036 * lib/debug.rb: require 'continuation' to implement "restart"
command.  [ruby-dev:33992]

* lib/debug.rb (Context::debug_command): remove local variable
  shadowing to shut up warnings.  [ruby-dev:33992]

* lib/debug.rb (Context::display_list): ditto.

* lib/debug.rb (Context::resume): ditto.

* lib/debug.rb (Context::get_thread): no longer use #index for Hash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-05 02:52:43 +00:00
naruse 8ac9b7c2ed * io.c (open_key_args): use rb_io_open instead of rb_f_open.
[ruby-core:15746]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-03 20:34:58 +00:00
nobu 9b2dd1e20d * hash.c (rb_any_hash): shrinks all results in Fixnum range.
[ruby-core:15713]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-03 07:14:27 +00:00
nobu b4b3180bfa * object.c (rb_cstr_to_dbl): check for successive underscores.
[ruby-dev:33952]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-01 15:08:13 +00:00
nobu cd89edc065 * encoding.c (rb_enc_dummy_p): bootstrap encodings can not be dummy.
* encoding.c (rb_enc_ascget): no needs to call rb_enc_precise_mbclen()
  twice.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-29 15:29:09 +00:00
naruse 50a860d006 * string.c (str_new): remove encoding assumption of empty string.
* hash.c ( rb_f_getenv, env_fetch, env_inspect): result of ENV should
  be always ASCII-8BIT.

* object.c (nil_to_s): nil.to_s should be US-ASCII.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-28 18:13:45 +00:00
nobu c015c6fa8e * include/ruby/encoding.h (rb_str_coderange_scan_restartable): added
prototype.

* string.c (rb_str_coderange_scan_restartable, rb_str_times): removed
  unsed variables.

* string.c (rb_enc_str_copy): unused now.  may be used in future?


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-28 02:13:51 +00:00
naruse 4dd9fd71b3 * string.c (rb_str_coderange_scan_restartable): coderange scaning
for partial read.

* io.c (read_all): set coderange when not convert encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-27 15:19:22 +00:00
nobu 9d014dc254 * ext/extmk.rb, enc/make_encmake.rb: load current mkmf.rb even if
cross-compiling.

* ext/extmk.rb, enc/make_encmake.rb, lib/mkmf.rb: need to be 1.8
  compatible for cross-compiling.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-26 18:56:00 +00:00
usa 116b15765d * 2008-02-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-26 00:09:17 +00:00
nobu f0ca4e868d * 2008-02-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-25 13:39:49 +00:00
nobu fe80dd73b9 * util.c (valid_filename): use O_EXCL to get rid of clobbering
existing files in race conditions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-23 18:53:00 +00:00
nobu 23ac9d7035 * 2008-02-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-23 02:52:38 +00:00
nobu 80e81d283d * enc/{depend,make_encdb.rb,trans/make_transdb.rb}: sort in alpha-numeric order.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-22 00:07:23 +00:00
matz ca22f3e168 * io.c (rb_f_putc): invoke stdout method so that redefining putc
may take effect.   [ruby-talk:291844]

* io.c (rb_f_puts): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-21 07:47:12 +00:00
nobu e16fddf1a9 * configure.in (RPATHFLAG): -R option of HP-UX ld is not for runtime
load path.  [ruby-list:44600]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-20 15:01:36 +00:00
usa f761aacdd8 * io.c (open_key_args): set arg->io even if no options passed.
[ruby-dev:33072]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-20 01:09:21 +00:00
nobu b81a66d1ef * eval.c (ruby_exec_node): no thread starts inside iseq compilation.
* eval.c (rb_f_raise): skip current control frame.  [ruby-core:15589]

* insns.def (opt_div): raise as the ordinary method. [ruby-core:15589]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-19 02:14:14 +00:00
usa 57ae6ad003 * 2008-02-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-17 17:00:09 +00:00
usa 5b461c6996 * win32/resource.rb: made version infos confirm to OS spec.
* {bcc32,win32}/Makefile.sub (*.rc): add dependency.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-16 18:16:21 +00:00
nobu 9c0be2d516 * range.c (rb_range_beg_len): check if responds to "begin" and "end"
methods for non-Range object.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-15 15:21:51 +00:00
nobu 82f631ac57 * configure.in (sigsetmask): check when signal semantics is not POSIX.
* signal.c (USE_TRAP_MASK): set true if sigprocmask or sigsetmask is
  available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-14 17:40:56 +00:00
nobu c9c655bf2c * common.mk (INSTRUBY_ARGS): pass mode to install. [ruby-dev:33766]
* instruby.rb (parse_args): added --data-mode and --prog-mode options.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-13 15:49:56 +00:00
nobu 8a87655162 * parse.y (arg_add_gen): removed since identical to arg_append_gen.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 16:23:02 +00:00
matz 0472db84c5 * range.c (range_include): specialize single character string
case (e.g. (?a ..?z).include(?x)) for performance.
  [ruby-core:15481]

* string.c (rb_str_upto): specialize single character case.

* string.c (rb_str_hash): omit coderange scan for performance.

* object.c (rb_check_to_integer): check Fixnum first.

* object.c (rb_to_integer): ditto.

* string.c (rb_str_equal): inline memcmp to avoid unnecessary
  rb_str_comparable(). 

* parse.y (rb_intern2): use US-ASCII encoding.

* parse.y (rb_intern_str): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-11 17:46:52 +00:00
mame 65753a5838 * test/ruby/test_pack.rb: fix tests for 64bit CPU.
* test/ruby/test_bignum.rb: ditto.

* test/ruby/test_file_exhaustive.rb: ditto.

* test/ruby/test_integer.rb: ditto.

* test/ruby/test_time.rb: ditto.

* test/ruby/test_numeric.rb: ditto.

* test/ruby/test_fixnum.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-10 21:52:25 +00:00
nobu c12b289362 * {bcc32,win32,wince}/Makefile.sub (MISSING): added cbrt.obj.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-10 06:07:31 +00:00
nobu 8bc75b5bb0 * lib/irb.rb (IRB::Irb::eval_input): rescues Interrupt and other than
SystemExit and SignalException.  [ruby-core:15359]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-08 15:44:54 +00:00
mame 2bef7dece1 * test/ruby/test_hash.rb: follow the change of Hash#flatten.
* test/ruby/test_time.rb: add tests to achieve over 70% test coverage
  of time.c.

* test/ruby/test_prec.rb: ditto over 90% for prec.c.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-07 15:09:12 +00:00
matz 5a8d5c873b * ext/nkf/nkf-utf8/nkf.c (nkf_enc_from_index): BINARY does not
have in-bound encoding index.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-07 00:06:55 +00:00
mame a73ec67e8d * hash.c (env_rassoc): remove access to free'd environment on mswin32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-05 15:25:35 +00:00
nobu f0cc22e990 * lib/mkmf.rb (INSTALL_DIRS, install_dirs): added BINDIR.
* lib/mkmf.rb (install_files): rejects files matching to
  $NONINSTALLFILES.

* lib/mkmf.rb (init_mkmf): defaults $NONINSTALLFILES to backup and
  temporary filse.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-05 02:14:17 +00:00
matz 50f6e01b44 * lib/cgi.rb (CGI::QueryExtension::[]): no more transition
extend(CGI::Value).  a patch from <tommy AT tmtm.org> in
  [ruby-dev:33583].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-04 00:02:53 +00:00
nobu 3940857f2b * configure.in (darwin): disabled fat-binary support which confuses
configure much, since ``universal'' implies hidden cross-compiling.
  TODO: ruby and libruby.bundle might be possible to bound with `lipo'
  after builds for each archs.  Anyway, config.h and rbconfig.rb must
  be separated definitely at least.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-02 00:53:41 +00:00
usa 12f3bcfcab * 2008-02-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-01 02:48:33 +00:00
usa a1c42c017a * 2008-01-31
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-30 15:40:49 +00:00
usa 5a674ddca6 * 2008-01-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-29 15:19:31 +00:00
nobu f7ed47355e * misc/ruby-mode.el (ruby-mode-set-encoding): updates magic comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-28 15:10:02 +00:00
nobu 7c69f166bd * parse.y (parser_set_encode): check if encoding is ASCII compatible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-27 15:39:14 +00:00
usa 665e571839 * 2008-01-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-25 15:34:25 +00:00
nobu 5f010f7299 * */*.bat: set svn:mime-type to text/batch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-25 01:32:00 +00:00
usa 3ef86ffdfe * 2008-01-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-23 15:46:17 +00:00
matz 105a669631 * eval_method.c (rb_export_method): set ruby_vm_redefined_flag for
visibility change as well.  reported by K.Kosako in
  http://d.hatena.ne.jp/kkos/20080122#1201012720.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-23 01:20:51 +00:00
mame b3ee6f9718 * test/ruby/test_bignum.rb: add tests for bignum.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-21 15:46:48 +00:00
nobu ea64014c56 * string.c (rb_str_each_char): advance offset before get next char
length.  [ruby-dev:33211]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-20 18:45:51 +00:00
usa caa539f2a3 * thread_win32.c (w32_wait_events): shouldn't invoke interrupt handle
by timer_thread.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-18 15:15:40 +00:00
nobu fe3987ae96 * ext/stringio/stringio.c (strio_init): use default external encoding
if nothing is given.  a patch from sheepman <sheepman AT
  sheepman.sakura.ne.jp> in [ruby-dev:33159].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-17 15:03:56 +00:00
nobu ce2652c9d4 * include/ruby/intern.h (rb_str_tmp_new, rb_str_shared_replace):
prototype moved.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-16 03:51:32 +00:00
matz fa246559d2 * io.c (appendline): specifying limit should not generate broken
byte sequence.  strings should be rounded.  [ruby-dev:33088]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-14 15:07:49 +00:00
matz c884219d96 * ruby.1: a patch to describe --encoding. a patch from Yugui
<yugui AT yugui.sakura.ne.jp> in [ruby-dev:33079].

* ruby.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-14 07:10:22 +00:00
matz e699dda504 * enc/make_encdb.rb: should work on Ruby 1.8. [ruby-dev:33069]
* common.mk (encdb.h): pass enc dir from outside to make_encdb.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-12 16:55:33 +00:00
usa 603f9304b2 * 2008-01-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-11 22:28:37 +00:00
matz d17bcfc802 * thread.c (rb_mutex_unlock): proper error message for unlocking
mutex that is not locked.  a patch from Yusuke ENDOH
  <mame at tsg.ne.jp> in [ruby-dev:33010].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-10 16:12:32 +00:00
matz 81064a7688 * io.c (rb_io_binmode): should not alter encoding. [ruby-dev:32918]
* io.c (io_read_encoding): need not to return ASCII-8BIT for
  binary IO.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-09 17:44:13 +00:00
matz 251dec5cf1 * string.c (rb_enc_cr_str_buf_cat): do not recalculate coderange
value if it's given from outside.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-09 04:07:11 +00:00
usa 6a1a57d13b * 2008-01-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-08 00:06:38 +00:00
usa ee6abe3252 * 2008-01-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-07 00:16:09 +00:00
usa 84a92191e3 * 2008-01-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-06 01:57:17 +00:00
nobu 8638ee26e7 * include/ruby/intern.h, re.c (rb_reg_new): keep interface same as
1.8.  [ruby-core:14583]

* include/ruby/intern.h, re.c (rb_reg_new_str): renamed, and defines
  HAVE_RB_REG_NEW_STR macro to tell if it is available.

* include/ruby/encoding.h (rb_enc_reg_new): added.

* insns.def (toregexp), marshal.c (r_object0): use rb_reg_new_str().

* re.c (rb_reg_regcomp, rb_reg_s_union): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-04 16:30:33 +00:00
matz 52ed8c4edd * include/ruby/oniguruma.h: Oniguruma 1.9.1 merged.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-03 15:55:04 +00:00
usa 499bc93a42 * 2007-01-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-03 01:47:18 +00:00
usa 8676df80ed * 2008-01-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-02 01:58:33 +00:00
nobu d64a975396 * ruby.c (process_options): rejects dummy encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-31 16:04:11 +00:00
usa f7b12afff5 * test/net/imap/test_imap.rb: check OpenSSL definition before testing imaps.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-30 20:58:31 +00:00
usa 7c8e5e2f65 * 2007-12-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-29 18:50:49 +00:00
usa 57bb055c93 * io.c (io_unread): adhoc workaround for non-binary mode of some DOSish
platforms. this is not perfect and safety, but works with most cases.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-28 17:20:24 +00:00
usa 3bcd7c418b * common.mk (golf_prelude.c): use MINIRUBY instead of BASERUBY because
tool/compile_prelude.rb requires rbconfig.rb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-27 15:03:14 +00:00
usa fc9a7983cf * lib/mkmf.rb (create_tmpsrc): retry to create file if Errno::EACCES
occurs. this is a workaround for mswin32.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-26 17:32:22 +00:00
nobu db5a25f3f3 * ext/json/ext/generator/generator.c (Init_generator): requires
json/common.rb for GeneratorError, when static linked.  a patch from
  Kenta Murata <muraken AT gmail.com> in [ruby-dev:32789].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 15:57:55 +00:00
matz a04a812ed0 * include/ruby/encoding.h (rb_enc_left_char_head): new utility macro.
* include/ruby/encoding.h (rb_enc_right_char_head): ditto.

* io.c (appendline): does multibyte RS search in the function.

* io.c (prepare_getline_args): RS may be nil.

* io.c (rb_io_getc): should process character based on external
  encoding, when transcoding required.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-24 16:36:14 +00:00
matz 2e791ace7f * io.c (rb_io_s_read): encoding argument reverted.
* io.c (mode_enc): independent function to share code.

* io.c (rb_io_internal_encoding): new method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-23 15:56:41 +00:00
nobu 872899fa58 * version.h: use patchlevel if revision is not set.
* {bcc32,win{32,ce}}/setup.mak (-version-): skip including revision.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 18:26:50 +00:00
matz e8a71bc853 * io.c (rb_io_mode_enc): do not set encoding unless explicitly
specified.

* io.c (rb_io_check_readable): fill fptr->enc by default_external
  if it's empty.

* io.c (io_enc_str): fptr->enc is always set for reading IO (by
  rb_io_check_readable(fptr)).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 17:28:20 +00:00
matz 9a602ab932 version.h corrupted
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 12:28:22 +00:00
matz 2329ba0d93 * ext/syck/rubyext.c (syck_genericresolver_node_import): should
not set instance variable "@kind" before initializing it.
  [ruby-dev:32677]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 12:14:37 +00:00
nobu aefc34a041 * common.mk (encs, ext/ripper/ripper.c): needs MFLAGS.
* configure.in (STRINGIZE): stringizing macro.

* include/ruby/defines.h (STRINGIZE): fallback.

* tool/make-snapshot: new file.

* version.c (ruby_description, ruby_copyright): string constants for
  -v option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 06:14:50 +00:00
matz 389278af97 * sample/test.rb (valid_syntax): force_encoding input script.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 15:57:26 +00:00
matz cfb91bc2f5 * string.c (tr_trans): wrong encoding check for tree strings.
* test/ruby/test_m17n.rb (TestM17N::test_tr_s): "invalid mbstring
  sequence" is not an error to be tested.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-20 15:27:35 +00:00
nobu a927483326 * compile.c (iseq_compile_each): should handle upper level eval iseq
from break/next, and COMPILE_ERROR() breaks only one block.
  [ruby-dev:31372]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-19 16:10:54 +00:00
matz ba15fda359 * bignum.c (rb_cstr_to_inum): wrong radix check. a patch from
Yusuke ENDOH <mame AT tsg.ne.jp> in [ruby-dev:32628].

* bignum.c (big2str_find_n1): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18 15:10:37 +00:00
matz ebfcc5d933 * re.c (rb_reg_initialize): raise error if non-Unicode fixed
encoding option is specified for regexp literals with \u{}
  escapes.

* string.c (rb_str_squeeze_bang): should squeeze multibyte
  characters as well.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 16:06:21 +00:00
matz 5c4cf9bfdf for undefined conversions.
* transcode_data_iso_8859.c: Changed from character constants
  ('\xC2') to integer contants (0xC2) for shorter files and
  better readability; eliminated duplicated tables; changed
  from -1 offset to actual UNDEF entry (not yet distinguishing
  UNDEF and ILLEGAL correctly).

* test/ruby/test_transcode.rb: added a test for UNDEF conversion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 01:28:26 +00:00
nobu 6ac2742afa * configure.in (MAKEFILES): should be enc/Makefile, not GNUmakefile.
[ruby-dev:32609]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 15:36:44 +00:00
matz 0f0f79d34b * lib/rdoc/options.rb (Options::parse): do not access $KCODE any
longer.  [ruby-core:14079]

* lib/irb/init.rb (IRB::IRB.parse_opts): ditto.

* lib/cgi.rb (CGI::CGI): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 17:05:15 +00:00
matz 7bb3ea6afa * re.c (rb_reg_initialize): embedded string may override encoding
of the regular expression.

* re.c (rb_reg_initialize): fix encoding of regular expression if
  embedded string has its own encoding specified.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 16:09:53 +00:00
matz 0ca7036682 * io.c (read_all): should associate default external encoding.
* io.c (io_read): should NOT associate default external encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 23:46:58 +00:00
nobu ad72efa269 * re.c (rb_reg_regsub): should copy encoding.
* string.c (rb_str_sub_bang, str_gsub): should check and copy encoding
  to be replaced.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 03:11:44 +00:00
matz 6bd65de203 * parse.y (shadowing_lvar_gen): no duplicate error for "_".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-10 16:22:52 +00:00
matz 9d8075b99c * parse.y (expr): redefinable not (!) operator.
* parse.y (arg): ditto.

* object.c (rb_obj_not): new method "!".

* object.c (rb_obj_not_equal): new method "!=".

* object.c (rb_obj_not_match): new method "!~".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-09 16:39:49 +00:00
nobu 4892115ada * 2007-12-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-09 02:30:22 +00:00
matz aff0d98a5b * parse.y (arg): tUPLUS no longer works as identity operation any
more.  inspired by [ruby-talk:265532].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-07 02:51:31 +00:00
nobu a5c6b705db * regparse.c (i_apply_case_fold): fix for negative character class. a
patch from Yusuke ENDOH <mame AT tsg.ne.jp> in [ruby-core:13884].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 16:37:25 +00:00
nobu 8ea5018d20 * parse.y (yycompile): get rid of tracing while parsing.
[ruby-dev:31351]

* thread.c (ruby_suppress_tracing): added a new parameter, which
  directs to call func always.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 04:41:27 +00:00
nobu 80644b31d5 * bignum.c (rb_cstr_to_inum): trailing spaces may exist at sqeezing
preceeding 0s.  [ruby-core:13873]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-04 02:23:52 +00:00
usa 97a9e9da85 * ext/Win32API/*: removed or moved to ext/dl/win32.
* ext/dl/win32/*: new. [ruby-dev:32387]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-03 02:53:13 +00:00
ko1 f3e3ce4c82 * insnhelper.ci (vm_callee_setup_arg): fix error message.
[ruby-dev:32430]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 06:20:23 +00:00
nobu 4afa82056c * parse.y (newline_node): always remove NODE_BEGIN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-30 18:34:34 +00:00
matz efedaa432b * hash.c (rb_hash_eql): recursive comparison should be based on
eql?  [ruby-core:13803]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-30 05:26:59 +00:00
nobu 058ec52c0d * parse.y (stmt): remove unnecessary NODE_BEGIN. [ruby-core:13814]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-29 07:59:12 +00:00
nobu 22c18f1e1b * 2007-11-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-27 17:44:21 +00:00
ko1 329484693a * insns.def, compile.c: fix to allow dsym for alias/undef.
[ruby-dev:32355]
* bootstraptest/test_method.rb: add tests for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-27 01:02:30 +00:00
matz f7bd951bea * variable.c (rb_f_global_variables): variable names should not
duplicate.  [ruby-dev:32344]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-26 01:17:17 +00:00
matz 050a10c607 * compile.c (defined_expr): defined(method(x)) dumped core. a
patch from Yusuke ENDOH <mame AT tsg.ne.jp>.  [ruby-dev:32335]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-23 01:46:44 +00:00
matz c227d3feb3 * insnhelper.ci (vm_search_normal_superclass): rename function.
* insnhelper.ci (vm_search_superclass): ditto.

* proc.c (struct METHOD): rename rklass -> rclass.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-22 01:17:52 +00:00
matz 7da723cfbb * object.c (nil_plus): remove unused function. [ruby-core:13737]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-20 16:16:53 +00:00
usa cae4fb76dc * include/ruby/win32.h win32/win32.c (rb_w32_pipe_exec): use dual fd
instead of socketpair when mode is RDWR.

	* io.c (pipe_open): pass &write_fd to rb_w32_pipe_exec().

	* io.c (popen_redirect): define only when HAVE_FORK.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-20 04:04:51 +00:00
nobu 9417595993 * parse.y (parser_read_escape): disallow control and meta modifiers
for non-ASCII characters.  [ruby-core:13685]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-18 16:53:12 +00:00
nobu 16dc06014c * lib/mkmf.rb (String#tr_cpp): make preprocessor identifiers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-18 00:09:50 +00:00
suke 24dcd39f19 ext/win32ole/win32ole.c (ole_invoke): bug fix. [ruby-talk:279100]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-17 15:04:55 +00:00
nobu fd0ab68415 * lib/yaml/rubytypes.rb (String#is_binary_data?): use Integer#fdiv.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-16 02:16:43 +00:00
matz 4c56aaa162 * tool/compile_prelude.rb (c_esc): need to escape closing brace.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-15 03:15:37 +00:00
nobu c4af7f51b7 * tool/ytab.sed: get rid of GNU sed feature. a patch from Laurent
Sansonetti <laurent.sansonetti AT gmail.com> in [ruby-core:13470].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-13 15:15:39 +00:00
shyouhei 8d464a9948 * numeric.c (flo_divmod): round to the nearest integer. [ ruby-Bugs-14540 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-12 18:41:31 +00:00
matz 8110d52333 * misc/ruby-mode.el (ruby-parse-partial): handle stringified
symbols properly using ruby-forward-string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-12 04:54:00 +00:00
nobu 16262b6972 * {bcc32,win32}/Makefile.sub: vendor_ruby support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-10 04:18:44 +00:00
matz 9099eab331 * random.c: update MT URL.[ruby-core:13305].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-08 22:27:54 +00:00
usa 219d2315af * parse.y (parser_read_escape): remove C99/gcc-ism.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-08 03:14:16 +00:00
matz 23176da722 * lib/rexml/encodings/SHIFT-JIS.rb (REXML::Encoding): place -x for
nkf conversion.  a patch from <moonwolf AT moonwolf.com>.
  [ruby-dev:32183]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-06 18:35:33 +00:00
nobu bb1f1c5782 * eval_load.c (rb_feature_p): check if the feature is loading with
load path.  [ruby-dev:31932]

* eval_load.c (load_lock): check the result of barrier waiting.

* thread.c (rb_barrier_wait): check if owned by the current thread.

* thread.c (rb_barrier_release): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-06 06:52:01 +00:00
usa fc3b17968b * win32/Makefile.sub: vendor_ruby support.
* configure.in (RUBY_LIB): duplicated.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-04 15:26:21 +00:00
matz 19c4d26c51 * string.c (tr_setup_table): use C array for characters that fit
in a byte to gain performance.

* string.c (rb_str_delete_bang): ditto.

* string.c (rb_str_squeeze_bang): ditto.

* string.c (rb_str_count): ditto.

* string.c (tr_trans): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-03 19:04:53 +00:00
matz 6e8eea7abe * hash.c (rb_hash_each_pair): make Hash#each to be alias to
Hash#each_pair for compatibility and clarity.

* hash.c (env_each_pair): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-03 14:07:48 +00:00
matz 7f018bde09 * error.c (Init_Exception): make NameError to be subclass of
StandardError again.

* error.c (Init_Exception): make SecurityError to be subclass of
  Exception, since it's too important to be handled implicitly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-02 06:28:52 +00:00
usa 24ada5f55e * win32/configure.bat, setup.mak: now can recognize OS even if
the ``--target'' option of configure is omitted.

	* win32/README.win32: update the descriptions about compiler.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-31 15:53:19 +00:00
matz d2a1637d90 * enum.c (enum_take_while): separate with-block form.
* enum.c (drop_while_i): ditto.

* enum.c (enum_butfirst): abandon butfirst method.  reverted.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-30 23:43:26 +00:00
matz a68451d610 * enum.c (enum_butfirst): add a new method to iterates over
elements but first n.  RDoc need to be updated.

* enumerator.c (Init_Enumerator): remove unnecessary symbol
  initialization.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-30 01:06:10 +00:00
nobu 3dacfd3fe4 * encoding.c (rb_enc_compatible): ASCII encoding is compatible with
ASCII-compatible encoding, even for non-string objects.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-29 08:18:36 +00:00
matz d9ff0a6c22 * array.c (rb_ary_assoc): check and convert inner arrays (assocs)
using #to_ary.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-25 16:52:40 +00:00
nobu bb053cd824 * io.c (rb_io_tell, rb_io_seek): check errno too. [ruby-dev:32093]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-25 05:19:33 +00:00
nobu 2070362f33 * parse.y (parser_tokspace): make space in token buffer.
* parse.y (parser_yylex): fix encoding of single character literal.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-24 08:09:40 +00:00
matz 15112cf003 * enum.c (enum_cycle): hide temporary array from ObjectSpace.
[ruby-core:12762]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-22 15:29:17 +00:00
nobu 00befb4b3f * encoding.c (rb_enc_compatible): check if two objects have compatible
encodings.

* encoding.c (enc_compatible_p): added Encoding.compatible?.

* include/ruby/encoding.h (rb_enc_compatible): prototype.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-22 01:57:08 +00:00
nobu b2c81746ac * encoding.c (rb_enc_default, rb_enc_primary): return pointers to
rb_encoding of default and primary respectively.  [ruby-core:12795]

* encoding.c (set_primary_encoding): removed primary_encoding setter.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-21 09:29:19 +00:00
nobu 6c77d58356 * file.c (rb_get_path): returns frozen string.
* file.c (rb_file_s_chown, rb_file_s_lchown): use uid_t and gid_t.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-20 02:49:22 +00:00
nobu c2aee4c878 * range.c (range_last): removed unused variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-19 01:55:44 +00:00
matz fada885be6 * range.c (range_first): takes first n element if argument is
given.  [ruby-core:12697]

* range.c (range_last): returns last n elements if argument is
  given.

* array.c (rb_ary_subseq, rb_ary_last): export.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-18 06:58:35 +00:00
nobu 81ed881511 * re.c (rb_reg_initialize_m): allow binary encoding option.
[ruby-dev:32083]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-16 16:57:08 +00:00
matz ff3859899d * encoding.c (Init_Encoding): define #to_s to show encoding name
in to_s representation as well as #inspect.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-15 16:28:18 +00:00
nobu 14264f5f62 * marshal.c (r_bytes0): check if source has enough data.
[ruby-dev:32054]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-15 00:58:09 +00:00
nobu 9c24fed339 * encoding.c (rb_cEncoding): new Encoding class.
* encoding.c (rb_to_encoding, rb_to_encoding_index): helper functions.

* encoding.c (rb_obj_encoding): return Encoding object now.

* gc.c (garbage_collect): mark Encoding objects.

* string.c (rb_str_force_encoding): accept Encoding object as well as
  encoding name.

* include/ruby/encoding.h (rb_to_encoding_index, rb_to_encoding):
  prototypes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-13 16:32:40 +00:00
matz d962ef7454 * parse.y: encoding specifier should work if the line matches
/coding[:=] ?/, a la Python PEP-263, so that VIM comments like
  "# vim: set fileencoding=<encoding name>" should be recognized.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-12 15:04:46 +00:00
nobu b1e97c9070 * trunk/parse.y (magic_comments): add "encoding" as same as "coding".
* trunk/parse.y (set_file_encoding): special file encoding handling.

* trunk/parse.y (parser_yylex): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-12 06:04:57 +00:00
matz 5fc7312d1b * include/ruby/oniguruma.h (OnigEncodingTypeST): add OnigEncoding
parameter to every function members.

* include/ruby/oniguruma.h (OnigEncodingTypeST): add auxiliary
  data member to provide user defined data for an encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-10 15:05:32 +00:00
nobu 8c19ecbeeb * string.c (rb_enc_str_coderange): fixed checkfor non-ascii.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-10 05:31:08 +00:00
nobu 78c4cc29ae * parse.y (STR_NEW3): check for if single byte sequence.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-09 06:40:26 +00:00
ko1 3c78d621e6 * insns.def (opt_eq): fix to use rb_str_equal().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-07 06:49:38 +00:00
matz bd00bb3ef7 * include/ruby/defines.h: no longer provide DEFAULT_KCODE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-05 17:39:59 +00:00
knu ee6901b199 2007-10-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-04 19:56:35 +00:00
matz 612b2ed6a7 * array.c (rb_ary_permutation): remove C99 dependency.
[ruby-dev:31934]

* array.c (rb_ary_product): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-04 06:51:17 +00:00
nobu ee2ac58e4d * ruby.c (ruby_process_options): push frame with program name.
[ruby-core:12351]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-03 01:06:57 +00:00
ko1 88f570d9ae * proc.c (proc_dup): proc->block.proc should be self.
* bootstraptest/test_knownbug.rb, test_method.rb:
  move a fixed test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 22:02:23 +00:00
nobu b9b34059a6 * eval.c (ruby_options), ruby.c (proc_options, process_options): not
call exit(2) directly.  [ruby-dev:31912]

* eval.c (ruby_run_node): deal with direct exit code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 01:52:32 +00:00
usa 38694262ef * variable.c (obj_ivar_each): get rid of warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 15:56:50 +00:00
ko1 534d057e58 * cont.c: Thread local storage should be fiber local.
* bootstraptest/test_knownbug.rb, test/ruby/test_fiber.rb:
  move a fixed test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 19:04:45 +00:00
ko1 6698dd81e6 * benchmark/driver.rb: fix file selection algorithm.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 03:51:41 +00:00
nobu 4d1450fc96 * process.c (rb_waitpid): no needs to poll. [ruby-dev:31871]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-26 18:17:43 +00:00
nobu 52866db1fe * parse.y (parser_yyerror): limit error message length.
[ruby-dev:31848]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-25 20:12:24 +00:00
matz 72ea36112c * eval.c (rb_longjmp): source file information may be NULL.
[ruby-dev:31849]

* eval.c (ruby_finalize_0): clear trace_func before finalization.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-25 12:40:17 +00:00
matz af4310be97 * lib/weakref.rb (WeakRef): remove debug print. [ruby-dev:31799]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-24 13:15:34 +00:00
nobu bc5d305843 * eval_method.ci (remove_method): check for undefined method.
[ruby-dev:31816]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-22 21:16:21 +00:00
nobu 2f4951f01e * ext/stringio/stringio.c (strio_init): separate from strio_initialize
to share with strio_reopen properly.  [ruby-Bugs-13919]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-21 20:19:51 +00:00
matz f4d9d3d39b * hash.c (hash_equal): should call rb_eql when argument eql is set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-20 17:03:41 +00:00
nobu bf6575ef62 * io.c (popen_exec), process.c (rb_spawn): stop other threads before
exec.  [ruby-core:08262]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-20 08:28:03 +00:00
kou 1b56bcce22 * lib/rss.rb, lib/rss/, test/rss/:
- 0.1.9 -> 0.2.0.
  - supported Slash module.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-15 04:41:28 +00:00
ko1 8b92f5df32 * insnhelper.ci (vm_expandarray): should be volatile value for GC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-14 07:14:13 +00:00
nobu f41c0a54e2 * parse.y (rb_id2str): fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-13 04:47:10 +00:00
nobu 9391daf954 * io.c (rb_io_s_sysopen): should not use alloca for unknowen size
input.  [ruby-dev:31775]

* parse.y (rb_id2str): ditto.

* marshal.c (w_float): use snprintf instead of sprintf.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-12 06:19:06 +00:00
matz 3ee33a6dbc * range.c (range_step): fixed integer overflow. [ruby-dev:31763]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-09 16:11:28 +00:00
usa eda22a3411 * 2007-09-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-07 16:48:10 +00:00
matz ae11bc70f1 * io.c (rb_io_getc): forgot to commit rb_enc_mbclen() fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-06 15:30:49 +00:00
nobu 629b1e4324 * string.c (rb_str_succ, rb_str_chop_bang, rb_str_chop): m17n support.
[ruby-dev:31734]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-06 03:42:12 +00:00
matz c349959778 * string.c (rb_str_splice): integer overflow for length.
[ruby-dev:31739]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-05 13:06:01 +00:00