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

14249 Коммитов

Автор SHA1 Сообщение Дата
tadf f2cb79ffee * complex.c: uses f_(in)?exact_p macro.
* rational.c: ditto.

	* bignum.c (rb_big_pow): bignum**bignum - should calculate without
	  rational.

	* lib/complex.rb: should override Math module at most once.

	* lib/mathn.rb: requires 'cmath' directly.

-この行以下は無視されます --

M    complex.c
M    ChangeLog
M    lib/mathn.rb
M    lib/complex.rb
M    bignum.c
M    rational.c


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-19 13:55:52 +00:00
yugui 396650e0bd * prec.c: removed. Precision will be redesigned and be back again.
c.f. [ruby-dev:36352].

* common.mk (COMMON_OBJS): removed prec.o.

* inits.c (rb_call_inits): removed Init_Precision.

* numeric.c (Init_Numeric): removed inclusion of Precision.
  removed #induced_from from each class.

* rational.c: ditto.

* ext/bigdecimal/bigdecimal.c: ditto.

* lib/rdoc/knwon_classes.rb: removed the entry for Precision.

* test/ruby/test_prec.rb: removed.

* test/ruby/test_integer.rb: removed tests for Precision.

* test/ruby/test_fixnum.rb: ditto.

* test/ruby/test_float.rb: ditto.

* test/ruby/test_rational.rb: ditto.

* test/ruby/test_complex.rb: ditto.

* test/bigdecimal/test_bigdecimal.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-19 13:10:54 +00:00
yugui e6ad87c3ba * common.mk : Reverts the changeset 18994.
Uses the official repository of rubyspec again.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-19 13:10:45 +00:00
matz 69b4c69a72 * configure.in: applied OS/2 support patch from Brendan Oakley
<gentux2@gmail.com> in [ruby-core:18707].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-19 08:43:04 +00:00
matz d7de44a8fc * dln.c: newer BeOS support. a patch from Pete Goodeve
<pete.goodeve at computer.org> in [ruby-core:18712].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-19 00:33:19 +00:00
naruse a9cc553e61 * ext/nkf/nkf-utf8/nkf.c: fix memory violation. mentioned by mame [ruby-dev:36373]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 18:42:47 +00:00
svn eda2809b35 * 2008-09-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 16:16:49 +00:00
akr 478b14ea4f * regexec.c (string_cmp_ic): add text_end argument.
(slow_search): call enclen with real string end.
  (map_search): add text_end argument.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 16:16:45 +00:00
mame f0c8c9d832 * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_to_string): comment out
fragments of unused code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 13:56:51 +00:00
mame e040ff5530 * ext/bigdecimal/bigdecimal.c (VpCtoV): 1E1000...000 is interpreted as
Infinity.  [ruby-dev:36159]

* ext/bigdecimal/bigdecimal.c (VpPower): Infinity ** 1 returns
  Infinity instead of NaN.  [ruby-dev:36159]

* test/bigdecimal/test_bigdecimal.rb: add tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 13:48:21 +00:00
matz c3e2e0e53f * string.c (rb_str_comparable): make ascii8bit string to be
compatible with any other encoding.

* string.c (rb_str_cmp): use rb_str_comparable() instead of
  rb_enc_compatible() since <=> is a comparison anyway.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 13:17:41 +00:00
akr 081c802cb9 * grapheme cluster implementation reverted. [ruby-dev:36375]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 12:53:25 +00:00
nobu 22987dc7fe * lib/rake.rb (Rake::Application#standard_exception_handling):
replaced magic numbers for exit status.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 11:51:00 +00:00
nobu 45880b8e7d * lib/optparse.rb (OptionParser::ParseError#set_backtrace): omits
OptionParser internal backtraces unless debug flag is set.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 11:38:24 +00:00
matz bc9c077400 * bignum.c (big2str_karatsuba): free internal buffer eagerly.
a patch from TOYOFUKU Chikanobu <nobu_toyofuku at nifty.com>
  in [ruby-dev:36217].

* bignum.c (rb_big2str0): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 11:21:34 +00:00
mame 4046a1cb92 * lib/uri/common.rb (unescape): skip '%' to make String#hex work
correctly.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 11:05:09 +00:00
mame b11b2b498c * st.c (new_size): raise RuntimeError when st_table is too big.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 10:44:09 +00:00
mame 6b050e719b * fix time in changelog
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 10:21:04 +00:00
akr 24733414ed add a ref.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 09:42:28 +00:00
akr 1cd6bce939 fix a typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 09:39:47 +00:00
akr 2cbc7b69b7 * transcode.c (enc_arg): must take pointer argument to avoid GC
problem.  StringValueCStr modifies the argument and it should be
  preserved while the string StringValueCStr returns is used.
  Since the string is used by caller, the modified argument should be
  hold by caller.  Actually
    GC.stress = true
    def (o=Object.new).to_str()
      "universal"+"_newline"
    end                         
    "\u3042".encode(o, "")' 
  causes curious warning:
    rb_define_const: invalid name `' for constant



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 09:29:01 +00:00
matz d5ec36c486 * transcode.c: add "Error" suffix for Encoding exception classes.
a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp> in
  [ruby-dev:36346].

* encoding.c (Init_Encoding): rename EncodingCompatibilityError to
  Encoding::CompatibilityError.  [ruby-dev:36366]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 08:57:33 +00:00
matz 45ee7d2e78 * transcode.c (enc_arg): revert last change. too early exception
raising.

* transcode.c (enc_arg): need not to take pointer argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 08:27:17 +00:00
jim b7c95b923a Updated Rake files to version 0.8.2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 01:17:04 +00:00
mame 2fc415a166 * test/bigdecimal/test_bigdecimal.rb: add tests to achieve over 90%
test coverage of bigdecimal.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 17:22:15 +00:00
svn 42c3f17021 * 2008-09-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 16:39:51 +00:00
matz b09322c61a * io.c (rb_io_extract_modeenc): process option mode: and perm: as
well.

* io.c (open_key_args): move mode: and perm: related code to
  rb_io_extract_modeenc().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 16:39:47 +00:00
akr 635b15d662 * string.c (rb_str_casecmp): don't use rb_enc_codepoint.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 12:50:52 +00:00
tadf d965e99b04 * complex.c (nucomp_s_convert): accepts complex
value (Complex(a,b) as a+bi).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 11:00:09 +00:00
kazu b452a519c9 * test/ruby/test_io.rb (TestIO#test_dup): avoid infinite loop.
[ruby-dev:36326]

* test/ruby/test_io.rb (TestIO#test_dup): remove needless open.
  [ruby-dev:35957]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 10:22:11 +00:00
xibbar 4ac4e2fbc4 * lib/cgi/html.rb (checkbox_group,radio_group): bug fix
use size instead of bytesize.

* test/cgi/test_cgi_tag_helper.rb: test for checkbox_group,radio_group.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 04:49:28 +00:00
tadf b27d5a7aa1 typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 22:05:44 +00:00
tadf acde7364f7 * numeric.c: provides predicate real? instead of scalar?.
* complex.c: follows the above change.

	* lib/cmath.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 22:04:19 +00:00
akr d9d3781de0 fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 17:02:01 +00:00
akr 87fba4c425 * test/ruby/test_io_m17n.rb: use __FILE__ instead of /dev/null.
[ruby-dev:36327]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 17:00:08 +00:00
akr b3d772643e fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 16:59:08 +00:00
akr a67d4fa01c * include/ruby/oniguruma.h (OnigEncodingTypeST): add precise_ret
argument for mbc_to_code.
  (ONIGENC_MBC_TO_CODE): provide NULL for precise_ret.
  (ONIGENC_MBC_PRECISE_CODEPOINT): defined.

* include/ruby/encoding.h (rb_enc_mbc_precise_codepoint): defined.

* regenc.h (onigenc_single_byte_mbc_to_code): precise_ret argument
  added.
  (onigenc_mbn_mbc_to_code): ditto.

* regenc.c (onigenc_single_byte_mbc_to_code): precise_ret argument
  added.
  (onigenc_mbn_mbc_to_code): ditto.

* string.c (count_utf8_lead_bytes_with_word): removed.
  (str_utf8_nth): removed.
  (str_utf8_offset): removed.
  (str_strlen): UTF-8 codepoint oriented optimization removed.
  (rb_str_substr): ditto.
  (enc_succ_char): use rb_enc_mbc_precise_codepoint.
  (enc_pred_char): ditto.
  (rb_str_succ): ditto.

* encoding.c (rb_enc_ascget): check length with
  rb_enc_mbc_precise_codepoint.
  (rb_enc_codepoint): use rb_enc_mbc_precise_codepoint.

* regexec.c (string_cmp_ic): add text_end argument.
  (match_at): check end of character after exact string matches.

* enc/utf_8.c (graphme_table): defined for extended graphme cluster
  boundary.
  (grapheme_cmp): defined.
  (get_grapheme_properties): defined.
  (grapheme_boundary_p): defined.
  (MAX_BYTES_LENGTH): defined.
  (comb_char_enc_len): defined.
  (mbc_to_code0): extracted from mbc_to_code.
  (mbc_to_code): use mbc_to_code0.
  (left_adjust_combchar_head): defined.
  (utf_8): use a extended graphme cluster as a unit.

* enc/unicode.c (onigenc_unicode_mbc_case_fold): use
  ONIGENC_MBC_PRECISE_CODEPOINT to extract codepoints.
  (onigenc_unicode_get_case_fold_codes_by_str): ditto.

* enc/euc_jp.c (mbc_to_code): follow mbc_to_code field change.
  use onigenc_mbn_mbc_to_code.

* enc/shift_jis.c (mbc_to_code): ditto.

* enc/emacs_mule.c (mbc_to_code): ditto.

* enc/gbk.c (gbk_mbc_to_code): follow mbc_to_code field and
  onigenc_mbn_mbc_to_code change.

* enc/cp949.c (cp949_mbc_to_code): ditto.

* enc/big5.c (big5_mbc_to_code): ditto.

* enc/euc_tw.c (euctw_mbc_to_code): ditto.

* enc/euc_kr.c (euckr_mbc_to_code): ditto.

* enc/gb18030.c (gb18030_mbc_to_code): ditto.

* enc/utf_32be.c (utf32be_mbc_to_code): follow mbc_to_code field
  change.

* enc/utf_16be.c (utf16be_mbc_to_code): ditto.

* enc/utf_32le.c (utf32le_mbc_to_code): ditto.

* enc/utf_16le.c (utf16le_mbc_to_code): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 16:48:05 +00:00
naruse bad9a9ad0d * transcode.c (enc_arg): raise exception when unknown encoding is
given.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 16:18:32 +00:00
xibbar a4523cd042 fix ChangeLog
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 14:02:29 +00:00
xibbar 49f69c3f2e * lib/cgi/core.rb: performance improvement.
From CGIAlt http://cgialt.rubyforge.org/

* test/cgi/test_cgi_header.rb: exception class fixed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 13:30:05 +00:00
naruse 8b31af74b7 * string.c (rb_str_concat): fix rdoc. (codepoint is integer)
* string.c (rb_str_each_codepoint): use UINT2NUM.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 13:23:16 +00:00
naruse 025bd642a7 * re.c (rb_reg_desc): Regexp#inspect should be US-ASCII.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 13:16:12 +00:00
nobu 507658bd54 * string.c (rb_str_crypt): orthodox crypt() sees only first two bytes
of salt.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 12:33:40 +00:00
tadf 7c3b57b5d1 * complex.c (nucomp_marshal_{dump,load}): preserve instance
variables.

	* rational.c (nurat_marshal_{dump,load}): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 10:21:23 +00:00
matz 73c8f02384 * io.c (rb_io_readbyte): rdoc updated. [ruby-core:18617]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 09:36:06 +00:00
matz 428661eccf * io.c (rb_io_gets_m): rdoc updated. limit counts in bytes.
[ruby-core:18617]

* io.c (rb_io_readlines, rb_f_gets): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 09:29:40 +00:00
matz 0df867f933 * string.c (rb_str_each_codepoint): add new methods, #codepoints
and #each_codepoint.  a patch from Michael Selig
  <michael.selig at fs.com.au> in [ruby-core:18532].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 03:14:41 +00:00
matz 4c467da68f * ext/socket/mkconstants.rb: add new constants. a patch from
IWAMURO Motonori <deenheart+ruby at gmail.com> in [ruby-dev:36309].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 03:13:14 +00:00
matz 377eb14a9f * string.c ():
* string.c ():

* string.c (single_byte_optimizable): make function inline.  based
  on a patch from Michael Selig <michael.selig at fs.com.au> in
  [ruby-core:18532].

* string.c (str_modify_keep_cr): new function act as
  rb_str_modify(), but don't clear coderange

* string.c (rb_str_casecmp): specialized for single byte strings.

* string.c (rb_str_splice): preserve coderange.

* string.c (rb_str_slice_bang, rb_str_reverse_bang,
  rb_str_upcase_bang, rb_str_downcase_bang, tr_trans,
  rb_str_capitalize_bang, rb_str_swapcase_bang,
  rb_str_delete_bang, rb_str_chop_bang, rb_str_chomp_bang,
  rb_str_lstrip_bang, rb_str_rstrip_bang): ditto.

* string.c (rb_str_clear): preset coderange.

* string.c (rb_str_split_m): specialized for splitting with a
  string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 00:47:20 +00:00
matz 326bf1cac3 * test/ruby/test_io.rb (TestIO#test_dup): exception should be
raised from IO#dup.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 00:21:32 +00:00