31650 Commits

Author SHA1 Message Date
nobu
869a1b5876 encoding.c: use built-in encoding indexes
* encoding.c (enc_inspect, rb_locale_encindex),
  (enc_set_filesystem_encoding, rb_filesystem_encindex): use built-in
  encoding indexes directly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-02 08:22:23 +00:00
nobu
aa1acf1d42 encoding.c: validate index
* encoding.c (rb_enc_set_index, rb_enc_associate_index): validate
  argument encoding index.
* include/ruby/encoding.h (ENCODING_SET): use rb_enc_set_index()
  instead of setting inlined bits directly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-02 08:22:19 +00:00
nobu
263ce88f9f encoding.c: preserved encindex
* encoding.c (rb_enc_init): register preserved indexes.
* internal.h (ruby_preserved_encindex): move from encoding.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-02 08:22:15 +00:00
kazu
22d508fc27 fix indent
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-02 03:00:05 +00:00
kazu
ee8fdc473a fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-02 03:00:02 +00:00
kazu
c92c5c9e3c fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-02 02:59:59 +00:00
sorah
47434dc12f * lib/mkmf.rb (try_config): Fix to not replace $LDFLAGS with $libs
(1.9.3 behavior) [ruby-core:55752] [Bug #8595]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-02 02:35:36 +00:00
svn
3b25c2066a * 2013-07-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 15:43:27 +00:00
akr
8c55a0a6e4 * ext/socket/ipsocket.c (init_inetsock_internal): Don't try mismached
address family if already failed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 15:43:21 +00:00
nobu
2fef15145c util.c: constify
* util.c (scan_digits): constify readonly table.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 14:44:31 +00:00
naruse
ba3dc473c4 Revert r41728
* string.c (rb_str_inspect): use encoding index macros in encdb.h.

It breaks build because encdb.h requires miniruby and modified
miniruby requires encdb.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 14:30:04 +00:00
naruse
642b157cc4 * string.c (rb_str_inspect): use encoding index macros in encdb.h.
* string.c (str_scrub0): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 14:12:13 +00:00
naruse
5308b0fd5e * template/encdb.h.tmpl: define encoding index macros to use the index
statically from C source.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 14:12:10 +00:00
akr
df1192edf5 * bignum.c (bary_mul2): New function.
(rb_cstr_to_inum): Use a better algorithm to compose the result
  if input length is very long.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 13:59:50 +00:00
mrkn
d08a79cfe1 * ext/bigdecimal/bigdecimal.h (RB_UNUSED_VAR, UNREACHABLE):
import macros from ruby.h for 1.9.3.
  [Bug #8588] [ruby-core:55730]

* ext/bigdecimal/bigdecimal.gemspec: Bump version to 1.2.1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 11:46:15 +00:00
akr
b7fd00c8fa * ext/socket/ipsocket.c (init_inetsock_internal): Use an address
family for local address wihch is different to the remote
  address if no other choice.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 11:05:47 +00:00
mrkn
f6a8c82e2d Additionally mention Heesob Park for his patch to [Bug #6862]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 06:37:20 +00:00
nobu
45c2532e59 csv.rb: get rid of discarding coderange
* lib/csv.rb (CSV#<<): use StringIO#set_encoding instead of creating
  new StringIO instance with String#force_encoding, forcing encoding
  discards the cached coderange bits and can make further operations
  very slow.  [ruby-core:55714] [Bug #8585]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 06:05:03 +00:00
nobu
8776802385 stringio.c: keep coderange
* ext/stringio/stringio.c (strio_write): keep coderange of
  ptr->string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 06:04:23 +00:00
nobu
78b45a0bc0 string.c: coderange appending to empty string
* string.c (rb_enc_cr_str_buf_cat, rb_str_append): consider an empty
  string 7bit-clean and should not discard cached coderange of string
  to be appended.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 06:03:45 +00:00
shugo
72d3e2b102 * eval.c (rb_using_module): activate refinements in the ancestors of
the argument module to support refinement inheritance by
  Module#include.  [ruby-core:55671] [Feature #8571]

* test/ruby/test_refinement.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 03:57:16 +00:00
akr
551fe2bddc * bignum.c (rb_cstr_to_inum): Skip leading zeros.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-01 03:04:07 +00:00
svn
f893b2f1f2 * 2013-07-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 16:01:59 +00:00
akr
98a8c820c7 * bignum.c (nlz16): New function.
(nlz32): Ditto.
  (nlz64): Ditto.
  (nlz128): Ditto.
  (nlz): Redefined using an above function.
  (bitsize): New macro.
  (rb_cstr_to_inum): Use bitsize instead of nlz.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 16:01:53 +00:00
nobu
5956967a99 process.c: remove ineffective assignment
* process.c (rb_exec_fillarg): remove ineffective assignment unless
  default process encoding is set.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 14:16:26 +00:00
charliesome
3628ab8092 * lib/prime.rb: Corrected a few comments. Patch by @Nullset14.
Fixes GH-346.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 13:40:10 +00:00
akr
305f06c7e3 * bignum.c (rb_cstr_to_inum): Use rb_integer_unpack if base is a power
of 2.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 13:16:08 +00:00
nobu
3a01b9ec91 win32: UTF-8 spawn
* test/ruby/test_process.rb (test_spawn_nonascii): assertions for
  non-ascii arguments.  [ruby-core:24309] [Bug #1771]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 05:06:43 +00:00
nobu
e5d61a862b ChangeLog: remove garbage
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 02:10:20 +00:00
nobu
5197f451de win32.c: use backslash
* win32/win32.c (join_argv): use backslash instead of slash in program
  path, otherwise cannot invoke "./c\u{1ee7}a.exe" for some reason.
  [ruby-core:24309] [Bug #1771]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:59:25 +00:00
nobu
637d668bca win32: UTF-8 spawn
* io.c (spawnv, spawn): use UTF-8 spawn family.  [Bug #1771]
* process.c (proc_exec_sh, proc_spawn_cmd, proc_spawn_sh): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:59:21 +00:00
nobu
8d2ce0fb1f win32.c: codepage awareness
* win32/win32.c (translate_char, join_argv, has_redirection): make
  codepage aware.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:59:16 +00:00
nobu
b64f79c838 win32.c: rb_w32_udln_find_exe_r,
rb_w32_udln_find_file_r
* win32/win32.c (rb_w32_udln_find_exe_r, rb_w32_udln_find_file_r):
  codepage independent versions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:59:12 +00:00
nobu
dc0b06aa38 win32.c: UTF-8 spawn
* win32/win32.c (w32_spawn): extract codepage aware code from
  rb_w32_spawn().
* win32/win32.c (rb_w32_uspawn): add UTF-8 version function.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:59:07 +00:00
nobu
64d39448d3 win32.c: UTF-8 aspawn
* win32/win32.c (w32_aspawn_flags): extract codepage aware code from
  rb_w32_aspawn_flags().
* win32/win32.c (rb_w32_uaspawn_flags, rb_w32_uaspawn_flags): add
  UTF-8 version functions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:59:03 +00:00
nobu
a65261c2c1 win32.c: w32_getenv
* win32/win32.c (w32_getenv): extract codepage aware code from
  rb_w32_ugetenv() and rb_w32_getenv().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:58:59 +00:00
nobu
cc3ec30ac9 win32.c: w32_stati64
* win32/win32.c (w32_stati64): extract codepage aware code from
  rb_w32_ustati64() and rb_w32_stati64().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:58:55 +00:00
nobu
1f500f0368 dln.c: extra arguments
* dln.h (DLN_FIND_EXTRA_ARG, DLN_FIND_EXTRA_ARG_DECL): allow extra
  arguments to dln_find_{exe,file}_r().
* dln_find.c (dln_find_exe_r, dln_find_file_r): add extract arguments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:58:51 +00:00
nobu
69bbcbe4c1 process.c: default process encoding
* process.c (EXPORT_STR, EXPORT_DUP): convert to default process
  encoding if defined.
* process.c (check_exec_env_i): convert environment variables too.
* process.c (rb_exec_fillarg): convert program path and arguments too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:57:18 +00:00
nobu
3e9c0bfaeb process.c: adjust indent
* process.c (exec_arg_data_type): adjust indent.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:57:16 +00:00
nobu
3a6bcb63d8 test_process.rb: File.realpath directly
* test/ruby/test_process.rb (with_tmpchdir): use File.realpath
  directly, no need to depend on pathname.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:23:35 +00:00
akr
b1e052d080 * bignum.c (big_rshift): Use abs2twocomp and twocomp2abs_bang.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-29 16:58:58 +00:00
svn
3c9f0334a5 * 2013-06-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-29 15:57:12 +00:00
akr
7251c93cb3 * bignum.c (RBIGNUM_SET_NEGATIVE_SIGN): New macro.
(RBIGNUM_SET_POSITIVE_SIGN): Ditto.
  (rb_big_neg): Inline get2comp to avoid double negation.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-29 15:57:07 +00:00
akr
1522375b99 * bignum.c (bary_neg): Extracted from bary_2comp.
(bary_plus_one): Extracted from bary_2comp.
  (bary_2comp): Use bary_neg and bary_plus_one.
  (big_extend_carry): Extracted from get2comp.
  (get2comp): Use big_extend_carry.
  (rb_integer_unpack): Use big_extend_carry.
  (rb_big_neg): Use bary_neg.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-29 14:38:26 +00:00
akr
69f1a3351f * bignum.c (bary_2comp): Simplified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-29 13:33:40 +00:00
akr
c6cb7416d2 * bignum.c (bigor_int): Return -1 if y == -1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-29 00:35:57 +00:00
akr
f0454052f7 * bignum.c (bigor_int): Use RB_GC_GUARD.
(bigxor_int): Take xn and hibitsx arguments.  Use twocomp2abs_bang.
  (rb_big_xor): Use abs2twocomp and twocomp2abs_bang.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-29 00:08:47 +00:00
akr
88430941c8 * bignum.c (bigand_int): Don't apply bitwise and for BDIGIT and long.
(bigor_int): Take xn and hibitsx arguments.  Use twocomp2abs_bang.
  (rb_big_or): Use abs2twocomp and twocomp2abs_bang.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-28 23:21:57 +00:00
svn
112df332d2 * 2013-06-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-28 16:09:13 +00:00