31668 Commits

Author SHA1 Message Date
naruse
0ea40b2294 * ext/pty/pty.c (get_device_once): FreeBSD 10-current and 9-stable
added O_CLOEXEC support to posix_openpt, so assume FreeBSD 9.2 or
  later supports it.
  http://www.freebsd.org/cgi/query-pr.cgi?pr=162374

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-25 12:34:50 +00:00
naruse
9b119ab456 Remove unused variable
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-25 11:37:35 +00:00
mame
458b79e47b * proc.c (rb_method_entry_min_max_arity): fix missing break in switch.
This was introduced in r38236, which is not intentional apparently.
  This has caused no actual harm because VM_METHOD_TYPE_OPTIMIZED is
  not used except for OPTIMIZED_METHOD_TYPE_SEND, but may do in
  future.  Coverity Scan found this inadequacy.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-25 09:55:17 +00:00
mame
a0b3e03202 * dir.c (bracket): fix copy-paste error. When the first and last
characters of fnmatch range have different length, fnmatch may
  have wrongly matched a path that does not really match.
  Coverity Scan found this bug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-25 09:32:47 +00:00
ko1
7b5a42f0fa * gc.c (after_gc_sweep): reduce full GC timing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-25 08:11:04 +00:00
nobu
675ba20cea no clearing method cache
* variable.c (set_const_visibility): return without clearing method
  cache if no arguments.
* vm_method.c (set_method_visibility): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-25 02:28:51 +00:00
nobu
9abf09133d vm_method.c: quote method name
* vm_method.c (set_method_visibility): quote unprintable method name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-25 02:27:34 +00:00
nobu
8a4fb4acba eval.c: rb_frame_callee returns current name
* eval.c (rb_frame_callee): returns the called name of the current
  frame, not the previous frame.
* eval.c (prev_frame_callee, prev_frame_func): rename and make static,
  as these are used by rb_f_method_name() and rb_f_callee_name() only.
* variable.c (set_const_visibility): use the called name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-25 02:24:33 +00:00
nobu
165db57cdc string.c: check argument type
* string.c (rb_str_quote_unprintable): check if argument is a string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 23:58:35 +00:00
svn
10a726d9e3 * 2013-05-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 22:04:19 +00:00
nobu
37b862c637 call rb_frame_callee() only once
* eval_error.c (error_pos): no needs to call rb_frame_callee() twice.

* safe.c (rb_secure, rb_insecure_operation): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 22:03:41 +00:00
kazu
bea632a016 fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 14:08:37 +00:00
charliesome
2fb8799e6e * ext/fiddle/fiddle.c: fix typo in fiddle doc [Bug #8412]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 12:27:12 +00:00
charliesome
9885529986 * variable.c (set_const_visibility): use rb_frame_this_func() instead
of rb_frame_callee() for getting the name of the called method

* test/ruby/test_module.rb: add test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 10:33:05 +00:00
ko1
f38a063090 * gc.c: do major/full GC when:
* number of oldgen object is biggger than twice of
  number of oldgen object at last full GC.
* number of remembered shady object is bigger than twice of
  number of remembered shady object at last full GC.
* number of oldgen object and remembered shady object is bigger
  than half of total object space.
  (please fix my English!)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 10:21:04 +00:00
charliesome
de8cb828f5 * intern.h: remove dangling rb_class_init_copy declaration
[ruby-core:55120] [Bug #8434]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 08:07:01 +00:00
naruse
c43dd625b6 * ext/strscan/strscan.c (strscan_aref): raise error if given
name reference is not found.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 07:32:45 +00:00
nobu
755f669316 io/console: rdoc
* ext/io/console/console.c (io_getch): add rdoc.

* ext/io/console/lib/console/size.rb (IO.console_size): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 06:54:25 +00:00
nobu
db41a18845 rename generic io modules
* ext/io/console/console.c, ext/stringio/stringio.c: rename internally
  used modules as generic_readable and generic_writable.  [Fix GH-315]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 06:54:17 +00:00
ko1
b84f7fda07 * gc.c (after_gc_sweep, garbage_collect_body): do major GC (full GC)
before extending heaps.
  TODO: do major GC when there are many old (promoted) objects.
* gc.c (after_gc_sweep): remove TODO comments.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 06:52:38 +00:00
naruse
717c5f94aa Disable clang on travis because it causes many false negative
https://travis-ci.org/ruby/ruby/builds/7448421

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 03:59:17 +00:00
nobu
d3298468d0 configure.in: no runtime path to -L
* configure.in (LIBRUBY_RPATHFLAGS): do not append -L option with
  runtime library directory if cross compiling, but only -R option.
  runtime path makes no sense on the host system.  [ruby-dev:47363]
  [Bug #8443]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 02:04:27 +00:00
zzak
20442b9c44 reapply r40839 [Fixes GH-316]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 21:46:43 +00:00
ko1
b8b26d05ce * object.c (rb_obj_clone): should not propagate OLDGEN status.
This propagation had caused WB miss for class.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 18:01:46 +00:00
kazu
28eb591395 fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 15:29:31 +00:00
svn
ef6fb99ebe * 2013-05-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 15:18:09 +00:00
nobu
4ea690ea3b extmk.rb: don't duplicate
* ext/extmk.rb (extract_makefile): do not add dldflags if duplicated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 15:18:05 +00:00
akr
d07439d5fd Add a comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 13:49:10 +00:00
nobu
f8180b8963 load.c: fix invalid read
* load.c (loaded_feature_path): fix invalid read by index underflow.
  the beginning of name is also a boundary as well as just after '/'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 08:35:34 +00:00
nobu
699e06a884 gc.c: revert r40898
* gc.c (gc_profile_dump_on): revert r40898.  ok to show the record
  accumulating while lazy_sweep().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 08:22:05 +00:00
nobu
95170c704c * gc.c: do not dump the last record
* gc.c (gc_profile_dump_on): do not dump the last record, for some
  reason.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 07:58:06 +00:00
zzak
09c3482399 revert forwardable rdoc patch for demo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 04:09:42 +00:00
nobu
ec04fecda5 * test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): HFS+ seems
not supporting a sparce file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 03:00:52 +00:00
svn
8a867f9133 * 2013-05-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 02:14:12 +00:00
nobu
ded54cb860 test_io.rb: test for write
* test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): add test
  for write part.  [ruby-core:55098] [Bug #8431]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 02:14:07 +00:00
naruse
a4eaf5f37c Add NEWS for r40879: Digest::Class.file
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-22 10:38:37 +00:00
naruse
7a32434fb6 Fix test failure of binmode from r40879
http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20130521T131601Z.log.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-22 10:36:28 +00:00
nobu
f02c2b9cfa * vm_dump.c (rb_vm_bugreport): show name of class and module.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-22 08:03:53 +00:00
nobu
22c0397a20 * vm_dump.c (rb_vm_bugreport): limit class name length.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-22 08:03:51 +00:00
nobu
11650a6ab9 gc.c: use size_t and no header if next_index == 0
* gc.c (gc_profile_dump_on): use size_t to get rid of overflow and
  show the header when next_index > 0, instead of next_index != 1.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-22 07:50:20 +00:00
nobu
a815b56d84 win32.c: check error of SetFilePointer
* win32/win32.c (setup_overlapped): check the error code in addition
  to the result of SetFilePointer() to determine if an error occurred,
  because INVALID_SET_FILE_POINTER is a valid value.
  [ruby-core:55098] [Bug #8431]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-22 06:19:03 +00:00
nobu
38302ca719 win32.c: extract setup_overlapped and finish_overlapped
* win32/win32.c (setup_overlapped, finish_overlapped): extract from
  rb_w32_read() and rb_w32_write().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-22 06:17:33 +00:00
ko1
5aece50163 * gc.c (gc_prepare_free_objects, rest_sweep, lazy_sweep): fix position
of `during_gc' setting.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-22 05:21:06 +00:00
svn
daf752b105 * 2013-05-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-21 23:09:27 +00:00
ko1
9e64703ec8 * gc.c (garbage_collect): all GC is start from garbage_collect()
(or garbage_collect_body()). `garbage_collect()' accept additional
  two parameters `full_mark' and `immediate_sweep'.
  If `full_mark' is TRUE, then force it full gc (major gc), otherwise,
  it depends on status of object space. Now, it will be minor gc.
  If `immediate_sweep' is TRUE, then disable lazy sweep.
  To allocate free memory, `full_mark' and `immediate_sweep' should be
  TRUE. Otherwise, they should be FALSE.
* gc.c (gc_prepare_free_objects): use `garbage_collect_body()'.
* gc.c (slot_sweep, before_gc_sweep, after_gc_sweep): add logging code.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-21 23:09:22 +00:00
akr
e12df5ef40 Update doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-21 13:54:31 +00:00
naruse
3188b4695b Add NEWS about r40881, StringScanner#[] supports named captures.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-21 13:51:25 +00:00
naruse
ecd5bbe82a * ext/strscan/strscan.c (strscan_aref): support named captures.
patched by Konstantin Haase [ruby-core:54664] [Feature #8343]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-21 13:48:57 +00:00
kou
9662e3ded5 * test/ruby/test_dir_m17n.rb (TestDir_M17N#test_entries_compose):
Use #each instead of #map just for iteration.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-21 12:50:21 +00:00
knu
07a6b4cbb5 * ext/digest/lib/digest.rb (Digest::Class.file): Take optional
arguments that are passed to the constructor of the digest
  class.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-21 12:41:34 +00:00