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

33165 Коммитов

Автор SHA1 Сообщение Дата
nobu a28de81aec string.c: mark frozen string
* string.c (rb_fstring): because of lazy sweep, str may be unmaked
  already and swept at next time, so mark it for the time being.
  [ruby-core:57756]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 08:40:18 +00:00
nobu b1b4724ea0 test_tracepoint.rb: include zombies
* test/-ext-/tracepoint/test_tracepoint.rb (test_tracks_objspace_count):
  free count should include zombies.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 08:39:28 +00:00
nobu 90c1ebbfd5 compar.c: fail if recursion
* compar.c (cmp_eq): fail if recursion.  [ruby-core:57736] [Bug #9003]
* thread.c (rb_exec_recursive_paired_outer): new function which is
  combinnation of paired and outer variants.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 04:53:18 +00:00
nobu b203f67344 vm_backtrace.c: copy without creating prefix string
* vm_backtrace.c (rb_profile_frame_full_label): copy from label
  directly, without creating prefix string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 04:27:39 +00:00
nobu 37fb998384 test_require.rb: need verbose
* test/ruby/test_require.rb (test_race_exception): need $VERBOSE
  setting, to emit warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 03:11:49 +00:00
ko1 b753b9606e * include/ruby/debug.h,
vm_backtrace.c (rb_profile_frame_full_label): add new C API
  rb_profile_frame_full_label() which returns label with
  qualified method name.
  Note that in future version of Ruby label() may return
  same return value of full_label().
* ext/-test-/debug/profile_frames.c,
  test/-ext-/debug/test_profile_frames.rb: fix a test for this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 00:21:51 +00:00
nobu 21e858e518 load.c: display backtrace to $stderr
* load.c (load_lock): display backtrace to $stderr at circular
  require.
* vm_backtrace.c (rb_backtrace_print_to): new function to print
  backtrace to the given output.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 15:56:01 +00:00
svn 42976d75f3 * 2013-10-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 15:34:46 +00:00
nobu a2b448106f io.c: use rb_funcallv
* io.c (rb_io_write): use rb_funcallv() instead of rb_funcall() to get
  rid of unnecessary alloca.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 15:34:40 +00:00
nobu 3f167b72bd * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 13:50:50 +00:00
knu 6fa584e2a5 Fix a typo: s/preceging/preceding/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 12:42:37 +00:00
ko1 cff2b2b666 * vm_backtrace.c, include/ruby/debug.h: add new APIs
* VALUE rb_profile_frame_method_name(VALUE frame)
* VALUE rb_profile_frame_qualified_method_name(VALUE frame)
* iseq.c (rb_iseq_klass), internal.h: add new internal function
  rb_iseq_method_name().
* ext/-test-/debug/profile_frames.c (profile_frames),
  test/-ext-/debug/test_profile_frames.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 12:08:20 +00:00
nobu 377758fdcb test_rubyoptions.rb: only one Bogus object
* test/ruby/test_rubyoptions.rb (test_segv_loaded_features): leave
  only one Bogus object in $LOADED_FEATURES.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 07:19:54 +00:00
nobu 9c6ea2f200 array.c: use rb_hash_values
* array.c (rb_ary_uniq): use rb_hash_values(), as well as the case no
  block is given.
* internal.h: define rb_hash_values() as internal API.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 07:11:15 +00:00
nobu 827f4d653b array.c: set class
* array.c (rb_ary_uniq): set class of the return value to the receiver
  class.  fix failure in TestArray#test_array_subclass.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 06:35:29 +00:00
nobu 5014840140 array.c: remove unused variables
* array.c (rb_ary_uniq): remove no longer used local variables since
  r43194.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 05:19:57 +00:00
glass 41eb48b88d * array.c (rb_ary_uniq): use rb_hash_keys().
* internal.h: define rb_hash_keys() as internal API.

* hash.c (rb_hash_keys): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 04:56:50 +00:00
kosaki 1fa5d76ae0 * cont.c: disable FIBER_USE_NATIVE on GNU/Hurd because it doesn't
support a combination getcontext() and threads. Patch by
  Gabriele Giacone (1o5g4r8o@gmail.com). [Bug #8990][ruby-core:57685]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 02:14:21 +00:00
nobu 8802842607 cont.c: supplement comments of FIBER_USE_NATIVE
* cont.c (FIBER_USE_NATIVE): supplement comments the reason why it is
  disabled.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-08 01:44:45 +00:00
akr a8178c69be * lib/time.rb (Time.strptime): Time.strptime('0', '%s') returns local
time Time object as Ruby 2.0 and before.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 21:00:12 +00:00
drbrain 9410e7e00c * .travis.yml: Rebuild Travis CI's "ruby-head" version on successful
build.  Patch by Konstantin Haase.  [Fixes GH-417]
  https://github.com/ruby/ruby/pull/417


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 20:41:59 +00:00
knu 20eff9bd7c * misc/ruby-mode.el: Use preceding-char/following-char
(returning 0 at BOF/EOF) instead of char-before/char-after
  (returning nil at BOF/EOF) to avoid error from char-syntax when
  at BOF/EOF.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 19:29:41 +00:00
knu 593855a0ff * misc/ruby-additional.el (ruby-mode-set-encoding): Add a missing
else clause to unbreak with `cp932`, etc.

* misc/ruby-mode.el (ruby-mode-set-encoding): Ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 19:15:11 +00:00
knu 449822c76c * misc/ruby-additional.el (ruby-mode-set-encoding): Use
`default-buffer-file-coding-system` if the :prefer-utf-8
  property is not available.

* misc/ruby-mode.el (ruby-mode-set-encoding): Ditto.

* misc/ruby-additional.el (ruby-encoding-map): Override the
  default value.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 19:03:03 +00:00
knu 1ecf20cda2 misc/ruby-mode.el: Improve `ruby-mode-set-encoding`.
* misc/ruby-additional.el (ruby-mode-set-encoding): Add support
  for `prefer-utf-8` which was introduced in Emacs trunk.

* misc/ruby-additional.el (ruby-encoding-map): Add a mapping from
  `japanese-cp932` to `cp932` to fix the problem where saving a
  source file written in Shift_JIS twice would end up having
  `coding: japanese-cp932` which Ruby could not recognize.

* misc/ruby-additional.el (ruby-mode-set-encoding): Add support
  for encodings mapped to nil in `ruby-encoding-map`.

* misc/ruby-additional.el (ruby-encoding-map): Map `us-ascii` and
  `utf-8` to nil by default, meaning they need not be explicitly
  declared in magic comment.

* misc/ruby-additional.el (ruby-encoding-map): Add type
  declaration for better customize UI.

* misc/ruby-mode.el: Ditto for the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 18:21:21 +00:00
svn 381784be7e * 2013-10-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 15:16:43 +00:00
knu 965854205b * misc/ruby-additional.el: Add a standard header and footer,
including (provide 'ruby-additional).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 15:16:38 +00:00
knu 1189b5fe99 Make ruby-electric play nicely with smartparens-mode.
* misc/ruby-electric.el (ruby-electric-space-can-be-expanded-p):
  Return nil to avoid "end" insertion when in smartparens-mode
  that is configured to insert "end" for the same keyword.

* misc/ruby-electric.el (ruby-electric-keywords): New custom
  variable to replace `ruby-electric-simple-keywords-re` with.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 14:47:32 +00:00
knu ae8870e9e0 * misc/ruby-additional.el: Use preceding-char/following-char
(returning 0 at BOF/EOF) instead of char-before/char-after
  (returning nil at BOF/EOF) to avoid error from char-syntax when
  at BOF/EOF.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 14:47:29 +00:00
nobu 3bb86ae462 cont.c: split conditions
* cont.c (FIBER_USE_NATIVE): split long conditions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 13:45:31 +00:00
nobu 9e3eb50212 configure.in: add mingw FIBER_USE_NATIVE
* configure.in (FIBER_USE_NATIVE): add mingw condition.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 13:19:02 +00:00
nobu 4549879579 configure.in: move FIBER_USE_NATIVE conditions
* configure.in, win32/Makefile.sub (FIBER_USE_NATIVE): move conditions
  from cont.c

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 12:03:58 +00:00
zzak 1956ca5d4b * lib/time.rb: [DOC] typo in Time.rb overview by @srt32 [Fixes GH-416]
https://github.com/ruby/ruby/pull/416


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 11:32:05 +00:00
akr da6229a3a0 * lib/time.rb (Time.strptime): Use :offset.
Patch by Felipe Contreras.  [ruby-core:57694]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 11:10:03 +00:00
kazu 5ec7e5aae8 fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 10:05:52 +00:00
nobu 0f7f11dc10 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 08:19:38 +00:00
nobu f14c312b58 test_io.rb: fix r43164
* test/ruby/test_io.rb (test_pid_after_close_read): fix rr43164 for
  platforms other than Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 08:14:01 +00:00
ko1 6b5d5e5322 * test/-ext-/debug/test_profile_frames.rb: rename class C to
something long name because one test depends on absence of
  class ::C.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 07:51:16 +00:00
nobu d4939eef6c * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 07:38:23 +00:00
ko1 ef7df5a414 * ext/-test-/debug/profile_frames.c:
test/-ext-/debug/test_profile_frames.rb: add a test for new C-APIs.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 07:35:21 +00:00
ko1 774bff0adb * include/ruby/debug.h: add backtrace collecting APIs for profiler.
* int rb_profile_frames(int start, int limit, VALUE *buff, int *lines);
  Collect information of frame information.
* VALUE rb_profile_frame_path(VALUE frame);
* VALUE rb_profile_frame_absolute_path(VALUE frame);
* VALUE rb_profile_frame_label(VALUE frame);
* VALUE rb_profile_frame_base_label(VALUE frame);
* VALUE rb_profile_frame_first_lineno(VALUE frame);
* VALUE rb_profile_frame_classpath(VALUE frame);
* VALUE rb_profile_frame_singleton_method_p(VALUE frame);
  Get information about each frame.
  These APIs are designed for profilers, for example, no objectallocation,
  and enough information for profilers.
  In this version, this API collects only collect Ruby level frames.
  This issue will be fixed after Ruby 2.1.
* vm_backtrace.c: implement above APIs.
* iseq.c (rb_iseq_klass): return local_iseq's class.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 07:21:11 +00:00
nobu 6531e12e0b win32/file.c: make mapping at initialization
* win32/file.c (code_page_i, rb_w32_init_file): make encoding to code
  page mapping at initialization directly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 07:20:59 +00:00
nobu 98e4a412e4 win32/file.c: use encoding index
* win32/file.c (code_page): use encoding index, which is primary
  entity, instead of encoding name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 06:50:18 +00:00
naruse 5df9f0d839 Increase open_timeout [Bug #8986]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 06:36:27 +00:00
nobu 6d07beb4c1 win32/file.c: using st_table
* win32/file.c (code_page): cache using st_table, not RHash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 06:28:11 +00:00
nobu 1c7b42e2bc win32/file.c: check ASCII encodings first
* win32/file.c (code_page): check US-ASCII and ASCII-8bit before
  ordinary mapping.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 06:09:01 +00:00
nobu 1ccaef9938 test_io.rb: get rid of error message
* test/ruby/test_io.rb (TestIO#test_pid_after_close_read): get rid of
  broken pipe error message from invoked command, by let it exit
  silently.  echo in cmd.exe does not interpret double quotes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 06:08:59 +00:00
ko1 40b1aa9adf * proc.c: catch up last commit.
Type of return value of rb_iseq_first_lineno() is now VALUE.
* vm_insnhelper.c (argument_error): ditto.
* vm_method.c (rb_method_entry_make): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 05:31:47 +00:00
ko1 12f368d6a4 * iseq.c, internal.h: change to public (but internal) functions
* VALUE rb_iseq_path(VALUE iseqval);
* VALUE rb_iseq_absolute_path(VALUE iseqval);
* VALUE rb_iseq_label(VALUE iseqval);
* VALUE rb_iseq_base_label(VALUE iseqval);
* VALUE rb_iseq_first_lineno(VALUE iseqval);
  And new (temporary) function:
* VALUE rb_iseq_klass(VALUE iseqval);
* iseq.c. vm_core.h (int rb_iseq_first_lineno): remove
  function `int rb_iseq_first_lineno(const rb_iseq_t *iseq)'.
  Use `VALUE rb_iseq_first_lineno(VALUE iseqval)' instead.
* proc.c. vm_insnhelper.c, vm_method.c: catch up this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 05:12:08 +00:00
nobu 72db853bb8 win32.c: internal functions
* win32/win32.c (w32_spawn, w32_aspawn_flags): make internal functions
  static.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 05:03:29 +00:00