* ISeq#path returns path of this ISeq written.
* ISeq#absolute_path returns absolute path.
* ISeq#label returns label (method name and so on).
* ISeq#base_label returns base label (see Thread::Backtrace::Location).
* ISeq#first_lineno returns first line number of this ISeq.
* ISeq.of(obj) returns ISeq object which obj (Proc or Method)
is contains.
* test/ruby/test_iseq.rb: add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
instead of File.binread for ruby 1.8 compatibility in the rubygems
source repository. Updates r38071
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge into them into rb_thread_s_async_interrupt_timing.
* thread.c (rb_thread_s_async_interrupt_timing): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (async_interrupt_timing_arg_check_i): helper function
for the above.
* test/ruby/test_thread.rb (test_async_interrupt_timing_invalid_argument):
test for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(TestRDocRubygemsHook#test_setup_unwritable): 1. check the existance
of the file(directory) before touch it. 2. remove test
file(directory) after the test. see [ruby-core:50388].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iseq.c: add following two methods.
* ISeq#line_trace_all returns all line traces (line numbers)
* ISeq#line_trace_specify(pos, set) set `pos'th line event to
specified_line event (if set is true).
These features are introduced for debuggers (mainly to make
breakpoint).
* iseq.h: add decl. of C APIs.
* test/ruby/test_iseq.rb: add tests.
* vm_trace.c: add `specified_line' event.
* include/ruby/ruby.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
binary files, so use a binary reading method when reading it.
see [ruby-core:50388].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
who assumes that the pathname of a gem never contains ':' ?
yes, on Unixen pathnames can contain ':', and on Windows they almost
certainly contain ':'. see [ruby-core:50388].
* lib/rubygems/requirement.rb (Gem::Requirement::PATTERN_RAW): extract
the regexp to match the version specifier from PATTERN to use in
above method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(Fiddle::Function::STDCALL): FFI_STDCALL is not a macro, but an enumeration. [ruby-core:50398] [Bug #7483]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(TestGemInstaller#test_check_executable_overwrite_other_non_gem):
on Windows, rubygems always generate a wrapper .bat file when
installing a file into bin, so testing no-overwrite a wrapper file
and a non-wrapper file is nonsence. see [ruby-core:50388].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(TestGemInstaller#test_check_executable_overwrite_default_bin_dir):
if the executable to be overwritten was generated by rubygems, the
error messsage differs from the only copied one's.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(TestGemExtExtConfBuilder::test_class_make): reading with binary mode
of course introduce \r on Windows. see [ruby-core:50388].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(Gem::Specification.validate_permissions): don't check executablity
of the source on Windows. they will be wrapped to .bat files when
installing. see [ruby-core:50388].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (Init_Thread): ditto.
* thread.c (rb_vm_gvl_destroy): ditto.
* thread.c (thread_start_func_2): make sure vm->running_thread
don't point to dead thread.
* thread.c (timer_thread_function): close a race against thead
destruction. [Bug #4911][ruby-dev:43859]
* vm_core.h (rb_thread_set_current): reset running time of
current thread instead of previous thread. We no longer
assume previous running thread still live.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
if you've already installed r38053 or later, remove the installed
lib/ruby/gems/2.0.0 directory and reinstall this revision or later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
but I doubt fiddle is not compatible with dl. (if you are interested,
see the diff.)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb:
- Install .gemspecs of default gem to
#{GEM_HOME}/specifications/default/.
- Update files parameter of .gemspecs by relative path from
library directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
fix block parameter.
No arugment should be given to a block which is passed
to TracePoint#enable (and disable).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
to Thread.async_interrupt_timing.
The option name `:never' is also changed to `:defer'.
[ruby-core:50375] [ruby-trunk - Feature #6762]
* thread.c: remove Thread.check_interrupt.
This method is difficult to understand by name.
* thraed.c: add Thread.async_interrupted?.
This method check any defered async interrupts.
* test/ruby/test_thread.rb: change tests for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_str_cmp_m): try to compare with to_str result if
possible before calling <=> method. [ruby-core:49279] [Bug #7342]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_str_cmp_m): use rb_check_funcall instead of respond_to
and call.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e