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

37954 Коммитов

Автор SHA1 Сообщение Дата
nobu 9d17096309 string.c: term fill
* string.c (rb_str_splice_0): fill wchar terminator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 07:49:10 +00:00
nobu ed94c24944 string.c: term fill
* string.c (rb_str_chop_bang): fill wchar terminator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 07:48:56 +00:00
nobu c77efe1144 string.c: term fill
* string.c (rb_str_chomp_bang): fill wchar terminator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 07:48:48 +00:00
nobu 0c50d7ba15 string.c: term fill
* string.c (rb_str_times): fill wchar terminator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 07:48:43 +00:00
nobu c00aca4aa0 string.c: term fill
* string.c (rb_str_plus): fill wchar terminator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 07:48:34 +00:00
nobu b890ed926a string.c: local variables
* string.c (rb_str_plus, rb_str_splice_0): extract local
  variables.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 07:48:21 +00:00
nobu 516b9026fd string.c: chompped_length chomp_rs
* string.c (chompped_length, chomp_rs): extract from
  rb_str_chomp_bang to share with rb_str_chomp.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 07:48:17 +00:00
nobu d5b5338421 test_cstr.rb: all wchar encodings
* test/-ext-/string/test_cstr.rb (assert_wchars_term_char): test
  for all wide char encodings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 04:39:45 +00:00
nobu 8efe878d11 struct.c: use iseqval
* struct.c (define_aref_method, define_aset_method): use iseq
  VALUE instead of rb_iseq_t to prevent from GC, as RB_GC_GUARD
  makes sense only for local variables.  [Feature #10575]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 04:39:29 +00:00
nobu bf74f633c5 test_cstr.rb: failed encoding name
* test/-ext-/string/test_cstr.rb (test_wchar_long): show the
  failed encoding name in error messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 00:40:17 +00:00
nobu 8cbf4003db thread.c: use the same method name
* thread.c (exec_recursive): use the same last method name as
  recursive_push in the error message when recursive_pop failed.
  [ruby-core:66742] [Bug #10579]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10 00:38:43 +00:00
usa bf4b7f3b8c * test/net/http/test_https.rb
(TestNetHTTPS#test_certificate_verify_failure): on Windows,
  Errno::ECONNRESET will be raised when the verify is failure at the
  client side, and it'll be eaten by WEBrick.

* test/open-uri/test_ssl.rb (TestOpenURISSL#test_validation_failure):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 17:51:43 +00:00
svn 9d237f434e * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 15:44:05 +00:00
svn 45210a36c2 * 2014-12-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 15:44:01 +00:00
normal 65651b34b1 struct: avoid all O(n) behavior on access
This avoids O(n) on lookups with structs over 10 members.
This also avoids O(n) behavior on all assignments on Struct members.
Members 0..9 still use existing C methods to read in O(1) time

Benchmark results:

vm2_struct_big_aref_hi*	1.305
vm2_struct_big_aref_lo*	1.157
vm2_struct_big_aset*	3.306
vm2_struct_small_aref*	1.015
vm2_struct_small_aset*	3.273

Note: I chose use loading instructions from an array instead of writing
directly to linked-lists in compile.c for ease-of-maintainability.  We
may move the method definitions to prelude.rb-like files in the future.

I have also tested this patch with the following patch to disable
the C ref_func methods and ensured the test suite and rubyspec works

	--- a/struct.c
	+++ b/struct.c
	@@ -209,7 +209,7 @@ setup_struct(VALUE nstr, VALUE members)
		ID id = SYM2ID(ptr_members[i]);
		VALUE off = LONG2NUM(i);

	-	if (i < N_REF_FUNC) {
	+	if (0 && i < N_REF_FUNC) {
		    rb_define_method_id(nstr, id, ref_func[i], 0);
		}
		else {

* iseq.c (rb_method_for_self_aref, rb_method_for_self_aset):
  new methods to generate bytecode for struct.c
  [Feature #10575]
* struct.c (rb_struct_ref, rb_struct_set): remove
  (define_aref_method, define_aset_method): new functions
  (setup_struct): use new functions
* test/ruby/test_struct.rb: add test for struct >10 members
* benchmark/bm_vm2_struct_big_aref_hi.rb: new benchmark
* benchmark/bm_vm2_struct_big_aref_lo.rb: ditto
* benchmark/bm_vm2_struct_big_aset.rb: ditto
* benchmark/bm_vm2_struct_small_aref.rb: ditto
* benchmark/bm_vm2_struct_small_aset.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 15:43:49 +00:00
hsbt 93db27d51f * string.c: [DOC] Add missing documentation around String#chomp.
Patchby @stderr [ci skip][fix GH-780]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 11:24:46 +00:00
nobu 9e256261b3 object.c: [DOC] Revise documentation
* object.c: [DOC] Revise documentation by Marcus Stollsteimer at
  [ruby-core:66368].  [Bug #10526]
  * #inspect: be more specific about generated string, remove
    obsolete example.
  * #nil?: use code examples instead of different call-seq's.
  * #tap: clarify what is yielded.
  * Integer(): be more specific about to_int and to_i, remove
    reference to Ruby 1.8.
  * Array(): fix error.
  * Class: fix variable name style and indentation in example.
  * improve consistency, fix typos and formatting.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 09:20:05 +00:00
nobu 3992aaa36c vm_eval.c: fix `rb_eval_string_wrap` rdoc
* vm_eval.c (rb_eval_string_wrap): [DOC] Fix `rb_eval_string_wrap`
  documentation.  It is referencing `require` instead of `load`.
  The former does not have the optional argument.  [Fix GH-779]
  [ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 03:48:35 +00:00
nobu 428791543b thread.c: get rid of invalid ID symbol
* eval.c (rb_frame_last_func): return the most recent frame method
  name.
* thread.c (recursive_list_access): use the last method name,
  instead of the current method name which can be unset in some
  cases, not to use a symbol by the invalid ID.
  [ruby-core:66742] [Bug #10579]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 01:16:27 +00:00
svn 1b13e1e698 * 2014-12-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 01:05:27 +00:00
nobu 3b0ca10539 ruby.c: do not modify shared string
* ruby.c (ruby_init_loadpath_safe): get rid of modify shared
  string directly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 01:05:18 +00:00
svn 3af8e150ad * 2014-12-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-08 04:18:11 +00:00
nobu 07bb8b4cce struct.c: trivial optimization
* struct.c (rb_struct_set): get rid of calling rb_frame_this_func
  twice.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-08 04:18:01 +00:00
kazu f975d1153c fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 14:01:14 +00:00
usa f53a1931a7 * test/net/imap/test_imap.rb (ImapTest#imaps_test): forced error on SSL sockets
causes Errno::ECONNRESET or Errno::ECONNABORTED instead of Errno::EPIPE on
  Windows.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 13:59:17 +00:00
ktsj eebb6bfc79 * ext/socket/basicsocket.c, ext/socket/sockssocket.c:
remove code for $SAFE=4.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 10:40:27 +00:00
nobu c63800069b known_classes.rb: remove DL
* lib/rdoc/known_classes.rb: reverted regression changes of rdoc
  known class.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 03:40:58 +00:00
hone 512705e62d io.c: Typo close -> closes.
Patch by @cirosantilli [Fixes GH-757]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 02:20:45 +00:00
svn b75be6b798 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 01:22:53 +00:00
svn 4b0ebe8fd0 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 01:22:51 +00:00
drbrain 4260aa1dc3 * lib/rdoc: Update to RDoc 4.2.0.
* test/rdoc:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 01:22:37 +00:00
svn 7d2d6d0a2f * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 00:53:20 +00:00
svn 04a79e465a * 2014-12-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 00:53:18 +00:00
drbrain 97f80207d0 * lib/rubygems: Update to RubyGems 2.4.5.
* test/rubygems:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07 00:53:01 +00:00
shugo a0b80a4410 * lib/net/imap.rb: Fix undefined variable usage & refactor/DRY
code.  Patch by @aledovsky. [Fixes GH-770]

* test/net/test_imap.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-06 01:13:45 +00:00
normal f9e3213f01 thread.c (do_select): rename parameters to avoid shadowing
Sometimes we may use write(2) syscalls for debugging inside
this function.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-06 01:10:06 +00:00
hsbt e2bbfaa67c * lib/rake: Update to rake 10.4.2
* test/rake: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-06 00:22:51 +00:00
normal e70210cad6 compile.c (rb_iseq_build_from_ary): remove misc handling
iseq->local_size is calculated, too, along with stack_size and
param.size, meaning there is no need to blindly load values in
the misc hash passed to us.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 21:49:42 +00:00
nobu dd155e029e ruby.c: no safe_level 4
* ruby.c (process_options): safe_level 4 was removed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 21:37:12 +00:00
nobu deba55eb1a configure.in: fix --with-ruby-version [ci skip]
* configure.in (RUBY_LIB_VERSION): Fix --with-ruby-version
  configuration option.  get rid of quoting in config.status.
* template/verconf.h.tmpl: quote RUBY_LIB_VERSION here.
  [ruby-core:66724] [Bug #10572]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 21:14:25 +00:00
nobu 4a69c35c72 io.c: fix rdoc [ci skip]
* io.c (Init_IO): ARGF is not a class.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 20:43:47 +00:00
usa d03528608d * test/test_pp.rb (PPTestModule::PPFileStatTest): test for r48719.
is this the right place here?



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 19:48:15 +00:00
svn b614474ece * 2014-12-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 19:35:26 +00:00
usa d2cee7828c * lib/pp.rb (File::Stat#pritty_print): some platforms (such as Windows)
does not have major/minor parts of device.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 19:35:19 +00:00
hsbt e599d8d197 * ext/psych/lib/psych.rb: bump version to 2.0.8
* ext/psych/psych.gemspec: ditto.
* ext/psych/psych_emitter.c: ditto.
* ext/psych/psych_parser.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 13:43:13 +00:00
nobu 8a7690a5ed test_rubyoptions.rb: non-codepage names glob
* test/ruby/test_rubyoptions.rb (test_command_line_glob_noncodepage):
  more assertion for fallback replacement on non-codepage names.
  [ruby-dev:48752] [Bug #10555]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 11:37:10 +00:00
nobu bbd0c7a339 test_rubyoptions.rb: non-codepage names glob
* test/ruby/test_rubyoptions.rb (test_command_line_glob_noncodepage):
  test for command line globbing on non-codepage names.
  [ruby-dev:48752] [Bug #10555]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 10:35:43 +00:00
kazu da2f1a2dea fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 09:35:06 +00:00
nobu c2fb27ac4a socket/option.c: fix inet_ntop link error on mswin
* ext/socket/option.c (inet_ntop): link aliased inet_ntop in
  libruby on mswin not rb_w32_inet_ntop which fails to link for
  unknown reason.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 08:09:12 +00:00
normal d71c745b40 iseq.c: remove unused rb_iseq_new_with_bopt
* iseq.c (prepare_iseq_build): remove unused block_opt param
  (rb_iseq_new_with_bopt_and_opt): remove
  (rb_iseq_new_with_opt): inline removed function
  (rb_iseq_new_with_bopt): remove
  (iseq_load): adjust prepare_iseq_build call
  [Feature #10565]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05 02:10:29 +00:00