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

28644 Коммитов

Автор SHA1 Сообщение Дата
ngoto 97de2b36e9 * ext/fiddle/closure.c (Fiddle::Closure.new): fix typo in documentation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 04:39:39 +00:00
ngoto a297576c37 * ext/fiddle/function.c (Fiddle::Function.new): fix typo in documentation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 04:35:43 +00:00
zzak 2db4ac6e2b Commit ChangeLog from r38249
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 04:21:20 +00:00
zzak 5452c2d625 * doc/forwardable.rd: Remove stale documentation file
* lib/forwardable.rb: Merge documentation from doc/forwardable.rd


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 04:08:29 +00:00
naruse 3c0f66570c Use more portable value for ENV['TZ']
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 02:58:55 +00:00
naruse 1bb1d096fb * time.c (time_mdump): dump timezone string to private instance variable
on marshaling.

* time.c (time_mload): load timezone string from private instance
  variable named 'zone'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 02:55:35 +00:00
naruse 68300e9554 Add freebsd to force_tz_test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 02:55:33 +00:00
naruse b03c751e94 Canada/Newfoundland was renamed to America/St_Johns
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 02:55:30 +00:00
naruse 811efc8276 Add declaration of rb_warn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 02:55:28 +00:00
ngoto 0bc733d9e3 * ext/fiddle/lib/fiddle/function.rb (Fiddle::Function#name): new
attribute needed to switch Win32::Registry from DL to Fiddle.

* ext/fiddle/lib/fiddle/import.rb (import_function, bind_function):
  set function name to the returned Fiddle::Function object.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 16:21:43 +00:00
svn 5f912e7e2f * 2012-12-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 15:12:41 +00:00
shugo d87b56c411 * test/ruby/test_refinement.rb: fix some tests to use neither
Module#using nor Module#module_eval.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 15:12:36 +00:00
nobu 2b0af28589 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 14:33:09 +00:00
shugo 328e0ff5ad * eval.c (ruby_Init_refinement): a new function to enable
Refinements with a warning "Refinements are experimental...".

* ext/refinement/refinement.c, ext/refinement/extconf.rb: a new
  extension library to enable Refinements.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 14:31:43 +00:00
ngoto 34592fb5b6 * ext/dl/lib/dl/func.rb (CALL_TYPE_TO_ABI, FiddleClosureCFunc): exclude private constants and methods from rdoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 14:30:24 +00:00
ngoto 382217c8b6 * ext/fiddle/lib/fiddle/import.rb (CALL_TYPE_TO_ABI): exclude private constant from RDoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 14:27:38 +00:00
shugo 60d6038dda * revised r37993 to avoid SEGV/ILL in tests. In r37993, a method
entry with VM_METHOD_TYPE_REFINED holds only the original method
  definition, so ci->me is set to a method entry allocated in the
  stack, and it causes SEGV/ILL.  In this commit, a method entry
  with VM_METHOD_TYPE_REFINED holds the whole original method entry.
  Furthermore, rb_thread_mark() is changed to mark cfp->klass to
  avoid GC for iclasses created by copy_refinement_iclass().

* vm_method.c (rb_method_entry_make): add a method entry with
  VM_METHOD_TYPE_REFINED to the class refined by the refinement if
  the target module is a refinement.  When a method entry with
  VM_METHOD_TYPE_UNDEF is invoked by vm_call_method(), a method with
  the same name is searched in refinements.  If such a method is
  found, the method is invoked.  Otherwise, the original method in
  the refined class (rb_method_definition_t::body.orig_me) is
  invoked.  This change is made to simplify the normal method lookup
  and to improve the performance of normal method calls.

* vm_method.c (EXPR1, search_method, rb_method_entry),
  vm_eval.c (rb_call0, rb_search_method_entry): do not use
  refinements for method lookup.

* vm_insnhelper.c (vm_call_method): search methods in refinements if
  ci->me is VM_METHOD_TYPE_REFINED.  If the method is called by
  super (i.e., ci->call == vm_call_super_method), skip the same
  method entry as the current method to avoid infinite call of the
  same method.

* class.c (include_modules_at): add a refined method entry for each
  method defined in a module included in a refinement.

* class.c (rb_prepend_module): set an empty table to
  RCLASS_M_TBL(klass) to add refined method entries, because
  refinements should have priority over prepended modules.

* proc.c (mnew): use rb_method_entry_with_refinements() to get
  a refined method.

* vm.c (rb_thread_mark): mark cfp->klass for iclasses created by
  copy_refinement_iclass().

* vm.c (Init_VM), cont.c (fiber_init): initialize th->cfp->klass.

* test/ruby/test_refinement.rb (test_inline_method_cache): do not skip
  the test because it should pass successfully.

* test/ruby/test_refinement.rb (test_redefine_refined_method): new
  test for the case a refined method is redefined.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 13:08:41 +00:00
nobu bd0c636211 parse.y: flush string content
* parse.y (parser_here_document): flush string content between new
  line and :string_embexpr.  [ruby-core:48703] [Bug #7255]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 08:29:16 +00:00
nobu 68a44cd169 test_scanner_events.rb: ruby-mode highlight by heredoc
* test/ripper/test_scanner_events.rb (TestRipper::ScannerEvents): get
  rid of make ruby-mode highlight confused by heredoc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 08:25:50 +00:00
nobu d3a2aa4004 memory_status.rb: EnvUtil
* test/ruby/memory_status.rb (Memory): suppress_warning is in EnvUtil.
  [ruby-core:50599] [Bug #7523]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 08:25:45 +00:00
drbrain 9b76b5057c * test/rake/helper.rb: Load envutil correctly. Removed useless rescue
for signal propagation tests
* lib/rake/file_utils.rb:  Prefer the built ruby.
* test/rake/test_rake_functional.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 07:35:45 +00:00
drbrain 854758c464 * lib/rdoc/context.rb: Don't warn for duplicate methods while loading.
* test/rdoc/test_rdoc_context.rb:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 06:20:50 +00:00
drbrain 80ba379c24 * lib/rubygems/command_manager.rb: Removed string concatenation
syntax.  [Bug #6265]
* lib/rubygems/commands/install_command.rb:  ditto
* lib/rubygems/commands/uninstall_command.rb:  ditto
* lib/rubygems/indexer.rb:  ditto
* lib/rubygems/security/policy.rb:  ditto
* lib/rubygems/security.rb:  ditto
* lib/rubygems/uninstaller.rb:  ditto
* test/rubygems/test_gem_commands_cert_command.rb:  ditto
* test/rubygems/test_gem_package.rb:  ditto
* test/rubygems/test_gem_security.rb:  ditto
* test/rubygems/test_gem_security_policy.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 05:26:46 +00:00
drbrain afae107a4c * lib/rubygems/package.rb: Set rubygems_version before validation.
Fixes issue with bundler.
* test/rubygems/test_gem_package.rb:  Test for above.

* lib/rubygems/remote_fetcher.rb:  Only update the cache when we have
  permission.  [ruby-trunk - Bug #7509]
* lib/rubygems/source.rb (class Gem):  ditto
* test/rubygems/test_gem_remote_fetcher.rb:  Test for above.
* lib/rubygems/test_utilities.rb:  ditto

* lib/rubygems/specification.rb:  Derive base_dir properly for default
  gems.  [ruby-trunk - Bug #7496]
* test/rubygems/test_gem_specification.rb:  Test for above.

* lib/rubygems.rb:  Untaint Dir.pwd when searching for gemdeps files
  for operation under $SAFE=1


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 05:13:08 +00:00
zzak 5ffc1a3aaa Fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 04:57:20 +00:00
ko1 c2f5a57403 * vm_trace.c: TracePoint#enable should not cause an error
when it is already enabled. TracePoint#disable is too.
  [ruby-core:50561] [ruby-trunk - Bug #7513]
* test/ruby/test_settracefunc.rb: add tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-06 03:13:50 +00:00
drbrain 54c40f3db5 * lib/rdoc*: Improved display of ChangeLog files as HTML.
* test/rdoc*:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 22:20:15 +00:00
kosaki fe6b2e20e9 * thread.c (rb_uninterruptible): helper function for providing
temporary async_interrupt_timing(Object => :defer)

* io.c (rb_f_p): use rb_uninterruptible.
* io.c (rb_f_p_internal): helper function for rb_f_p().
* io.c (struct rb_f_p_arg): new struct for rb_f_p_internal.

* test/ruby/test_thread.rb (test_async_interrupt_and_p): test for
  the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 19:37:49 +00:00
kosaki def63c3466 * io.c (io_binwrite): check interrupt before io issue.
* test/ruby/test_thread.rb (test_async_interrupt_and_io):
  test for the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 19:37:37 +00:00
nobu 84cfe8f8d6 vm_eval.c: public_send does not consider how it is called
* vm_eval.c (rb_method_call_status): use Qundef as no self instead of
  the current self.
* vm_eval.c (send_internal): public_send does not consider how it is
  called, as mentioned in r14173.  patched by charliesome (Charlie
  Somerville).  [ruby-core:50489] [Bug #7499]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 16:10:41 +00:00
nobu cfc2103108 test_object.rb: test for public_send
* test/ruby/test_object.rb (TestObject#test_public_send): add test for
  public_send.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 16:07:27 +00:00
tarui ce48e9a930 * lib/timeout.rb (Timeout#timeout): specify a exception
more strictly at async_interrupt_timing.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 15:53:27 +00:00
kazu 61f46bafa4 adjust style and fix typo and indent
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 15:48:11 +00:00
naruse 1b648d0467 Suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 15:34:11 +00:00
naruse 05db61c25d Use underscore-begging name for dummy variables to suppress warning
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 15:12:58 +00:00
svn 7424e9e8dd * 2012-12-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 15:04:16 +00:00
kosaki a400c94d72 * lib/timeout.rb (Timeout#timeout): set
async_interrupt_timeing(:on_blocking) by default.
  [Bug #7503] [ruby-core:50524]

* test/test_timeout.rb (#test_timeout_blocking): test for the above.
* test/test_timeout.rb (test_timeout_immediate): ditto
* test/test_timeout.rb (test_timeout_immediate2): ditto.

* NEWS: news for the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 15:04:09 +00:00
nari 4a572d5bb4 add a contributor name
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 14:56:58 +00:00
nari ab012bda4a * gc.c (getrusage_time): uses clock_gettime() with
CLOCK_PROCESS_CPUTIME_ID when available, which provides a 1ns
  precision on linux. [ruby-core:50495] [Bug #7500]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 14:53:16 +00:00
nobu 31e6f72c8e vm.c: save blockprocval
* vm.c (rb_vm_make_proc): save the proc made from the given block so
  that it will not get collected.  [ruby-core:50545] [Bug #7507]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 13:46:11 +00:00
kazu 1bddcc72f6 fix typos and remove trailing spaces
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 13:35:05 +00:00
ngoto 9920da5593 * ext/dl/lib/dl/func.rb (DL::Function#bind): When Fiddle is used,
@ptr should be updated. This fixes SEGV raised in DL::Function#call
  after calling DL::Function#bind. [Bug #7516] [ruby-dev:46708]
* test/dl/test_func.rb (test_bind): test for the above


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 13:24:19 +00:00
tarui 17a11774ca * thread.c (rb_thread_s_async_interrupt_timing): have to check ints before jumpping out.
* test/ruby/test_thread.rb (test_async_interrupt_with_return): add test
	  rescue has to catch a queued async exception at the time of return.
	* test/ruby/test_thread.rb (test_async_interrupt_with_break): add test
	  rescue has to catch a queued async exception at the time of break.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 09:54:58 +00:00
ko1 592e87e1f8 * test/ruby/memory_status.rb: suppress warning.
A patch from NAKAMURA Usaku.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 07:56:07 +00:00
drbrain 16c34f9df0 * lib/rdoc/parser/changelog.rb: Parse more ChangeLog file variations.
* test/rdoc/test_rdoc_parser_changelog.rb:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 07:07:28 +00:00
nobu 8d7e3c6aba * test/mkmf/test_have_func.rb: tests for have_func.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 06:30:39 +00:00
nobu 34dc263af8 test_have_library.rb: assert_have_library
* test/mkmf/test_have_library.rb (assert_have_library): extract.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 06:30:36 +00:00
nobu 228d36fb35 test_have_macro.rb: TestHaveMacro
* test/mkmf/test_have_macro.rb (TestMkmf::TestHaveMacro): rename.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 06:30:34 +00:00
nobu 94cb1c9b4b * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 04:08:17 +00:00
nobu 1dd7e5690c * test/mkmf/test_have_library.rb: tests for have_library.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 03:59:39 +00:00