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

46878 Коммитов

Автор SHA1 Сообщение Дата
svn 81073cc45d * 2017-06-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-13 01:04:57 +00:00
nobu a784132d98 compile.c: refine error messages
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-13 01:04:56 +00:00
k0kubun a100bf321c array.c: [DOC] Make it clear that #<< modifies receiver
This patch is sent from @selmertsx (morioka shuhei).

[fix GH-1646]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 11:09:10 +00:00
ko1 3b405a8912 add a comment for rb_thread_mark()
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 07:58:23 +00:00
ko1 f06daf167b remove rb_blocking_region_buffer::oldubf.
* thread.c (rb_blocking_region_buffer): remove oldubf because ubf should be
  NULL just before ubf setting.

* thread.c (set_unblock_function, reset_unblock_function): rename to
  unblock_function_set() and unblock_function_clear() respectively.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 07:49:33 +00:00
nobu 1542ab670e unused functions
* thread_win32.c: native_cond_signal, native_cond_wait,
  native_cond_initialize, native_cond_destroy are not used now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 06:31:02 +00:00
ko1 6c3f1461cd remove ruby_kill() introduced for [Bug #7951].
* thread.c (rbuy_kill): removed. This function is used
  with SIGSEGV, SIGBUS, SIGKILL, SIGILL, SIGFPE and SIGSTOP
  and these signals are affect immediately. So that `kill(2)'
  is enough for them.

* signal.c (rb_f_kill): ditto.

* vm_core.h (rb_thread_t::interrupt_cond): removed because
  only `ruby_kill()' uses this field.

* test/ruby/test_signal.rb: Without this patch sending SIGSTOP to own
  process wait another interrupt even if another process sends SIGCONT.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 04:52:25 +00:00
nobu a57d295e36 iseq.c: preserve encoding
* iseq.c (iseqw_inspect): preserve path encoding in the result.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 04:35:53 +00:00
nobu 581cd6cfad gc.c: duplicate rb_iseq_path by RSTRING_PTR
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 04:35:52 +00:00
ko1 fccbc2d278 * proc.c (get_local_variable_ptr): return found env ptr. Returned env
will be used by write barrier at `bind_local_variable_set()'.
  [Bug #13605]

* test/ruby/test_proc.rb: add a test for this issue.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 02:20:09 +00:00
svn b25237fb5d * 2017-06-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 00:18:31 +00:00
nobu ff5e3b98a0 win32.c: rb_dir_getwd_ospath
* win32/win32.c (rb_dir_getwd_ospath): Windows implementation
  moved from dir.c.  get rid of freeing malloced memory by xfree.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-12 00:18:30 +00:00
nobu 5aff6f2948 expand ruby_sourcefile
* compile.c: expand ruby_sourcefile not to evaluate twice in
  RSTRING_PTR.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-11 11:21:01 +00:00
svn 1ea17be152 * 2017-06-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-11 05:36:57 +00:00
nobu 751cbd7d3e configure.in: link the DWARF debug information
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-11 05:36:56 +00:00
svn a53f6d710b * 2017-06-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-10 10:26:33 +00:00
nobu 51982c8139 enumerator.c: fix nested maps
* enumerator.c (lazy_map_proc, lazy_grep_iter_proc): marks values
  returned by blocks are not packed in the case of nested maps, so
  that the result will be same as non-lazy version.  based on the
  patch by akihikodaki (Akihiko Odaki) at [ruby-core:81638],
  without GCC extension.  [Bug#13648]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-10 10:26:32 +00:00
nobu e8c6254680 thread_pthread.c: workaround for valgrind on Mac
* thread.c: revert r59053.

* thread_pthread.c (rb_thread_create_timer_thread): needs more
  stack space for valgrind.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-09 14:42:15 +00:00
nobu 1b6e7a3de2 signal.c: do not disable handlers to dump core
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-09 14:42:14 +00:00
nobu 9abe121c9f thread.c: workaround for valgrind on Mac OS X
Without this hack, pthread_join() in rb_thread_stop_timer_thread()
segfaults.

ProductName:	Mac OS X
ProductVersion:	10.11.6
BuildVersion:	15G1510
valgrind-3.12.0

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-09 13:58:09 +00:00
nobu a4d8a6e148 signal.c: no sigsegv handler with valgrind
* signal.c: disable handling signals to dump core, if installing
  unreserved signals failed, not valgrind to hang on Mac OS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-09 13:02:13 +00:00
nobu 9f4db3bcdb signal.c: warn at unresserved signals
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-09 08:30:24 +00:00
hsbt 39fbb2ea5f Update bundled gems to latest versions.
* did_you_mean 1.1.2
  * minitest 5.10.2
  * xmlrpc 0.3.0

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-09 03:20:03 +00:00
a_matsuda cb8ce41b02 Fix typo.
Patch by: Sarah Duve
Signed-off-by: Akira Matsuda <ronnie@dio.jp>

[Fix GH-1643]
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-09 01:31:36 +00:00
svn 984000ef90 * 2017-06-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 20:58:04 +00:00
normal c4e2cf4664 tool/runruby.rb: test with smallest possible machine stack
Lets ensure none of our C functions use too much stack space and
fix all excessive stack usage before releasing the next version.
Reducing C stack usage should reduce conservative GC scanning
time and improve performance.

If there are platform-dependent test failures; excessive stack
usage should be fixed; rather than increasing minimum values or
removing these envs from testing.

* tool/runruby.rb: use smallest possible machine stack size
  [ruby-core:81597] [Feature #13637]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 20:58:03 +00:00
nobu a2f1c07fe4 signal.c: relax installation failure
* signal.c (install_sighandler): ignore failure at unreserved
  signals.  e.g., SIGUSR2 fails under valgrind.

* signal.c (install_sighandler_fail): refine [BUG] message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 07:41:38 +00:00
ko1 269b795556 vm_block_handler_verify() should not return any value.
* vm_core.h (vm_block_handler_verify): this function only checks
  the given block handler with VM_ASSERT(). No need to return any value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 05:22:49 +00:00
svn 3553a30372 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 04:13:52 +00:00
ko1 7d8a415bc2 check break target correctly.
* compile.c (iseq_compile_each0): save target child_iseq in the catch-table
  for break. This iseq is not for continuation, but for search key at
  vm_throw_start().

* vm_insnhelper.c (vm_throw_start): check saved iseq first.

* iseq.h: add comment for it.

* test/ruby/test_iterator.rb (test_ljump): add a test for the issue:
    def call b; b.call; end
    call(Proc.new{break}){} #=> (1) should raise LocalJumpError
    call(Proc.new{break})   #=> (2) shoudd raies LocalJumpError, too.
  but (1) doesn't raise LocalJumpError.

  This issue is reported by Matz.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 04:13:51 +00:00
ko1 0318de23d4 use NULL instead of 0.
* compile.c: use NULL instead of 0 for ADD_CATCH_ENTRY()
  to specify don't pass iseq.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 04:06:07 +00:00
nobu 238a6246ff ruby.c: script name in UTF-8
* ruby.c (process_options): keep script name in UTF-8 if UTF8_PATH
  to get rid of loss by conversion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 02:07:42 +00:00
nobu aac0b43ed5 file.c: realpath in OS path encoding
* dir.c (rb_dir_getwd_ospath): return cwd path in the OS path
  encoding.

* file.c (rb_realpath_internal): work in the OS path encoding

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 01:58:44 +00:00
nobu 6502c03815 appveyor.yml: show encodings [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 01:58:42 +00:00
nobu 4ea23fb727 appveyor.yml: enable exam on AppVeyor
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-08 01:19:44 +00:00
svn 64ca4137a7 * 2017-06-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-07 22:25:24 +00:00
odaira 96b75bb1ce * tool/make-snapshot: prefer to use a make command
set in the MAKE or make env variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-07 22:25:23 +00:00
nobu 942dbb0238 load.c: get rid of side effects
* load.c (rb_f_load, rb_require_internal): DTrace hooks should not
  have side effects, i.e., conversion to String.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-07 14:36:18 +00:00
svn 0911dd2a97 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-07 13:01:28 +00:00
kou d311921d31 rexml: add close tag check on end of document to StreamParser
[ruby-core:81593] [Bug #13636]

Reported by Anton Sivakov. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-07 13:01:28 +00:00
normal c2127d0a03 common.mk: update dependencies after r58978
Using "tool/update-deps --fix"

* common.mk (file.$(OBJEXT)): depend on id.h
  (rational.$(OBJEXT)): ditto
  (string.$(OBJEXT)): sort alphabetically

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-07 00:32:07 +00:00
svn b550b28a89 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-07 00:32:03 +00:00
normal 27b8ef7ff7 thread.c: avoid busy looping on rb_thread_fd_close
We no longer use it this function, but extensions do, and
we need to ensure it continues to work for them.

* thread.c (rb_thread_fd_close): schedule other threads in loop
* ext/-test-/thread_fd_close/thread_fd_close.c: new file
* ext/-test-/thread_fd_close/depend: ditto
* ext/-test-/thread_fd_close/extconf.rb: ditto
* test/-ext-/thread_fd_close/test_thread_fd_close.rb: new test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-07 00:32:02 +00:00
svn 349495471e * 2017-06-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-06 22:55:36 +00:00
normal 10421fb1f2 IO#close: do not enqueue redundant interrupts (take #2)
Enqueuing multiple errors for one event causes spurious errors
down the line, as reported by Nikolay Vashchenko in
https://bugs.ruby-lang.org/issues/13632

This should fix bad interactions with test_race_gets_and_close
in test/ruby/test_io.rb since we ensure rb_notify_fd_close
continues returning the busy flag after enqueuing the interrupt.

Backporting changes to 2.4 and earlier releases will be more
challenging...

* thread.c (rb_notify_fd_close): do not enqueue multiple interrupts
  [ruby-core:81581] [Bug #13632]
* test/ruby/test_io.rb (test_single_exception_on_close):
  new test based on script from Nikolay

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-06 22:55:35 +00:00
nobu 95af3295cc debug.c: fix breaking condtions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-06 12:30:17 +00:00
duerst 267323cad5 add test_ill_formed_utf_8_replace to test recommended number of \uFFFD
Add test method test_ill_formed_utf_8_replace to test/ruby/test_transcode.rb
to check for the recommended number of \uFFFD replacement characters.
This is the first part, using ill-formed prefixes, with suffixes up to
the length of the original UTF-8 structure (including overlongs and
the full 31-bit space.)

For more details, see Unicode 9.0.0, Section 3.9, Best Practices for Using U+FFFD.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-06 10:34:10 +00:00
ko1 7d041e87c6 re-revert r59020
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-06 07:11:28 +00:00
ko1 e9c440815e revert r59023 because it contans unrelated developping code
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-06 07:10:19 +00:00
ko1 b0c9215f72 revert r59020 because it may fail some tests sometimes on some environment (http://ci.rvm.jp/). This revert is to check the reason of failures.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-06 06:58:54 +00:00