[前][次][番号順一覧][スレッド一覧]

ruby-changes:27383

From: marcandre <ko1@a...>
Date: Sat, 23 Feb 2013 23:25:31 +0900 (JST)
Subject: [ruby-changes:27383] marcandRe: r39435 (ruby_2_0_0): * Backport r39434 from trunk:

marcandre	2013-02-23 23:24:47 +0900 (Sat, 23 Feb 2013)

  New Revision: 39435

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=39435

  Log:
    * Backport r39434 from trunk:
    
      * NEWS: Reorder and fix indent levels [ruby-core:52723]

  Modified files:
    branches/ruby_2_0_0/NEWS

Index: ruby_2_0_0/NEWS
===================================================================
--- ruby_2_0_0/NEWS	(revision 39434)
+++ ruby_2_0_0/NEWS	(revision 39435)
@@ -11,217 +11,300 @@ with all sufficient information, see the https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/NEWS#L11
 
 == Changes since the 1.9.3 release
 
-=== C API updates
-* NUM2SHORT() and NUM2USHORT() added. They are similar to NUM2INT, but short.
-* rb_newobj_of() and NEWOBJ_OF() added. They create a new object of a given class.
+=== Language changes
+
+* Added keyword arguments.
+
+* Added %i and %I for symbol list creation (similar to %w and %W).
+
+* Default source encoding is changed to UTF-8. (was US-ASCII)
+
+* No warning for unused variables starting with '_'
+
+=== Core classes updates (outstanding ones only)
+
+* ARGF
+  * added method:
+    * added ARGF#codepoints and ARGF#each_codepoint, like the corresponding
+      methods for IO.
+
+* Array
+  * added method:
+    * added Array#bsearch for binary search.
+  * incompatible changes:
+    * random parameter of Array#shuffle! and Array#sample now
+      will be called with one argument, maximum value.
+    * when given Range arguments, Array#values_at now returns nil for each
+      value that is out-of-range.
+
+* Enumerable
+  * added method:
+    * added Enumerable#lazy method for lazy enumeration.
+
+* Enumerator
+  * added method:
+    * added Enumerator#size for lazy size evaluation.
+  * extended method:
+    * Enumerator.new accept an argument for lazy size evaluation.
+  * new class Enumerator::Lazy for lazy enumeration
+
+* ENV
+  * aliased method:
+    * ENV.to_h is a new alias for ENV.to_hash
+
+* Fiber
+  * incompatible changes:
+    * Fiber#resume cannot resume a fiber which invokes "Fiber#transfer".
+
+* File
+  * extended method:
+    * File.fnmatch? now expands braces in the pattern if
+      File::FNM_EXTGLOB option is given.
+
+* GC
+  * improvements:
+    * introduced the bitmap marking which suppresses to copy a memory page
+      with Copy-on-Write.
+    * introduced the non-recursive marking which avoids unexpected stack overflow.
+
+* GC::Profiler
+  * added method:
+    * added GC::Profiler.raw_data which returns raw profile data for GC.
+
+* Hash
+  * added method:
+    * added Hash#to_h as explicit conversion method, like Array#to_a.
+  * extended method:
+    * Hash#default_proc= can be passed nil to clear the default proc.
+
+* IO
+  * deprecated methods:
+    * IO#lines, #bytes, #chars and #codepoints are deprecated.
 
-=== Library updates (outstanding ones only)
+* Kernel
+  * added method:
+    * added Kernel#Hash conversion method like Array() or Float().
+    * added Kernel#__dir__ which returns the absolute path of the
+      directory of the file from which this method is called.
+    * added Kernel#caller_locations which returns an array of
+      frame information objects.
+  * extended method:
+    * Kernel#warn accepts multiple args in like puts.
+    * Kernel#caller accepts second optional argument `n' which specify
+      required caller size.
+    * Kernel#to_enum and enum_for accept a block for lazy size evaluation.
+  * incompatible changes:
+    * system() and exec() closes non-standard file descriptors
+      (The default of :close_others option is changed to true by default.)
+    * respond_to? against a protected method now returns false unless
+      the second argument is true.
+    * __callee__ has returned to the original behavior, and now
+      returns the called name but not the original name in an
+      aliased method.
+    * Kernel#inspect does not call #to_s anymore
+      (it used to call redefined #to_s).
+
+* LoadError
+  * added method:
+    * added LoadError#path method to return the file name that could not be
+      loaded.
+
+* Module
+  * added method:
+    * added Module#prepend which is similar to Module#include,
+      however a method in the prepended module overrides the
+      corresponding method in the prepending module.
+    * added Module.prepended and Module.prepend_features, similar
+      to included and append_features.
+    * added Module#refine, which extends a class or module locally.
+      [experimental]
+  * extended method:
+    * Module#define_method accepts a UnboundMethod from a Module.
+    * Module#const_get accepts a qualified constant string, e.g.
+      Object.const_get("Foo::Bar::Baz")
+
+* Mutex
+  * added method:
+    * added Mutex#owned? which returns the mutex is held by current
+      thread or not. [experimental]
+  * incompatible changes:
+    * Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize
+      and Mutex#sleep are no longer allowed to be used from trap handler
+      and raise a ThreadError in such case.
+    * Mutex#sleep may spurious wakeup. Check after wakeup.
+
+* NilClass
+  * added method:
+    * added nil.to_h which returns {}
+
+* ObjectSpace::WeakMap
+  * new low level class to hold weak references to objects.
+
+* Proc
+  * incompatible change:
+    * removed Proc#== and #eql? so two procs are == only when they are
+      the same object.
+
+* Process
+  * added method:
+    * added getsid for getting session id (unix only).
+
+* Range
+  * added method:
+    * added Range#size for lazy size evaluation.
+    * added Range#bsearch for binary search.
+
+* RubyVM (MRI specific)
+  * added RubyVM::InstructionSequence.of to get the instruction sequence
+    from a method or a block.
+  * added RubyVM::InstructionSequence#path, #absolute_path, #label,
+    #base_label and #first_lineno to retrieve information from where
+    the instruction sequence was defined.
+  * added Environment variables to specify stack usage:
+    * RUBY_THREAD_VM_STACK_SIZE: vm stack size used at thread creation.
+      default: 128KB (32bit CPU) or 256KB (64bit CPU).
+    * RUBY_THREAD_MACHINE_STACK_SIZE: machine stack size used at thread
+      creation. default: 512KB or 1024KB.
+    * RUBY_FIBER_VM_STACK_SIZE: vm stack size used at fiber creation.
+      default: 64KB or 128KB.
+    * RUBY_FIBER_MACHINE_STACK_SIZE: machine stack size used at fiber
+      creation. default: 256KB or 256KB.
+    These variables are checked only at launched time.
+  * added constant DEFAULT_PARAMS to get above default parameters.
+
+* Signal
+  * added method:
+    * added Signal.signame which returns signal name
 
-* builtin classes
-  * ARGF
-    * added method:
-      * added ARGF#codepoints and ARGF#each_codepoint, like the corresponding
-        methods for IO.
-
-  * Array
-    * added method:
-      * added Array#bsearch for binary search.
-    * incompatible changes:
-      * random parameter of Array#shuffle! and Array#sample now
-        will be called with one argument, maximum value.
-      * when given Range arguments, Array#values_at now returns nil for each
-        value that is out-of-range.
-
-  * Enumerable
-    * added method:
-      * added Enumerable#lazy method for lazy enumeration.
-
-  * Enumerator
-    * added method:
-      * added Enumerator#size for lazy size evaluation.
-    * extended method:
-      * Enumerator.new accept an argument for lazy size evaluation.
-    * new class Enumerator::Lazy for lazy enumeration
-
-  * ENV
-    * aliased method:
-      * ENV.to_h is a new alias for ENV.to_hash
-
-  * Fiber
-    * incompatible changes:
-      * Fiber#resume cannot resume a fiber which invokes "Fiber#transfer".
-
-  * File
-    * extended method:
-      * File.fnmatch? now expands braces in the pattern if
-        File::FNM_EXTGLOB option is given.
-
-  * GC
-    * improvements:
-      * introduced the bitmap marking which suppresses to copy a memory page
-        with Copy-on-Write.
-      * introduced the non-recursive marking which avoids unexpected stack overflow.
-
-  * GC::Profiler
-    * added method:
-      * added GC::Profiler.raw_data which returns raw profile data for GC.
-
-  * Hash
-    * added method:
-      * added Hash#to_h as explicit conversion method, like Array#to_a.
-    * extended method:
-      * Hash#default_proc= can be passed nil to clear the default proc.
-
-  * IO
-    * deprecated methods:
-      * IO#lines, #bytes, #chars and #codepoints are deprecated.
-
-  * Kernel
-    * added method:
-      * added Kernel#Hash conversion method like Array() or Float().
-      * added Kernel#__dir__ which returns the absolute path of the
-        directory of the file from which this method is called.
-      * added Kernel#caller_locations which returns an array of
-        frame information objects.
-    * extended method:
-      * Kernel#warn accepts multiple args in like puts.
-      * Kernel#caller accepts second optional argument `n' which specify
-        required caller size.
-      * Kernel#to_enum and enum_for accept a block for lazy size evaluation.
-    * incompatible changes:
-      * system() and exec() closes non-standard file descriptors
-        (The default of :close_others option is changed to true by default.)
-      * respond_to? against a protected method now returns false unless
-        the second argument is true.
-      * __callee__ has returned to the original behavior, and now
-        returns the called name but not the original name in an
-        aliased method.
-      * Kernel#inspect does not call #to_s anymore
-        (it used to call redefined #to_s).
-
-  * LoadError
-    * added method:
-      * added LoadError#path method to return the file name that could not be
-        loaded.
-
-  * Module
-    * added method:
-      * added Module#prepend which is similar to Module#include,
-        however a method in the prepended module overrides the
-        corresponding method in the prepending module.
-      * added Module.prepended and Module.prepend_features, similar
-        to included and append_features.
-      * added Module#refine, which extends a class or module locally.
-        [experimental]
-    * extended method:
-      * Module#define_method accepts a UnboundMethod from a Module.
-      * Module#const_get accepts a qualified constant string, e.g.
-        Object.const_get("Foo::Bar::Baz")
-
-  * Mutex
-    * added method:
-      * added Mutex#owned? which returns the mutex is held by current
-        thread or not. [experimental]
-    * incompatible changes:
-      * Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize
-        and Mutex#sleep are no longer allowed to be used from trap handler
-        and raise a ThreadError in such case.
-      * Mutex#sleep may spurious wakeup. Check after wakeup.
-
-  * NilClass
-    * added method:
-      * added nil.to_h which returns {}
-
-  * ObjectSpace::WeakMap
-    * new low level class to hold weak references to objects.
-
-  * Proc
-    * incompatible change:
-      * removed Proc#== and #eql? so two procs are == only when they are
-        the same object.
-
-  * Process
-    * added method:
-      * added getsid for getting session id (unix only).
-
-  * Range
-    * added method:
-      * added Range#size for lazy size evaluation.
-      * added Range#bsearch for binary search.
-
-  * RubyVM (MRI specific)
-    * added RubyVM::InstructionSequence.of to get the instruction sequence
-      from a method or a block.
-    * added RubyVM::InstructionSequence#path, #absolute_path, #label,
-      #base_label and #first_lineno to retrieve information from where
-      the instruction sequence was defined.
-    * added Environment variables to specify stack usage:
-      * RUBY_THREAD_VM_STACK_SIZE: vm stack size used at thread creation.
-        default: 128KB (32bit CPU) or 256KB (64bit CPU).
-      * RUBY_THREAD_MACHINE_STACK_SIZE: machine stack size used at thread
-        creation. default: 512KB or 1024KB.
-      * RUBY_FIBER_VM_STACK_SIZE: vm stack size used at fiber creation.
-        default: 64KB or 128KB.
-      * RUBY_FIBER_MACHINE_STACK_SIZE: machine stack size used at fiber
-        creation. default: 256KB or 256KB.
-      These variables are checked only at launched time.
-    * added constant DEFAULT_PARAMS to get above default parameters.
-
-  * Signal
-    * added method:
-      * added Signal.signame which returns signal name
-
-    * incompatible changes:
-      * Signal.trap raises ArgumentError when :SEGV, :BUS, :ILL, :FPE, :VTALRM
-        are specified.
-
-  * String
-    * added method:
-      * added String#b returning a copied string whose encoding is ASCII-8BIT.
-    * change return value:
-      * String#lines now returns an array instead of an enumerator.
-      * String#chars now returns an array instead of an enumerator.
-      * String#codepoints now returns an array instead of an enumerator.
-      * String#bytes now returns an array instead of an enumerator.
-
-  * Struct
-    * added method:
-      * added Struct#to_h returning values with keys corresponding to the
-        instance variable names.
-
-  * Thread
-    * added method:
-      * added Thread#thread_variable_get for getting thread local variables
-        (these are different than Fiber local variables).
-      * added Thread#thread_variable_set for setting thread local variables.
-      * added Thread#thread_variables for getting a list of the thread local
-        variable keys.
-      * added Thread#thread_variable? for testing to see if a particular thread
-        variable has been set.
-      * added Thread.handle_interrupt as well as instance and singleton methods
-        pending_interrupt? for asynchronous handling of exceptions
-      * added Thread#backtrace_locations which returns similar information of
-        Kernel#caller_locations.
-    * new class Thread::Backtrace::Location to hold backtrace location
-      information. These are returned by Thread#backtrace_locations and
+  * incompatible changes:
+    * Signal.trap raises ArgumentError when :SEGV, :BUS, :ILL, :FPE, :VTALRM
+      are specified.
+
+* String
+  * added method:
+    * added String#b returning a copied string whose encoding is ASCII-8BIT.
+  * change return value:
+    * String#lines now returns an array instead of an enumerator.
+    * String#chars now returns an array instead of an enumerator.
+    * String#codepoints now returns an array instead of an enumerator.
+    * String#bytes now returns an array instead of an enumerator.
+
+* Struct
+  * added method:
+    * added Struct#to_h returning values with keys corresponding to the
+      instance variable names.
+
+* Thread
+  * added method:
+    * added Thread#thread_variable_get for getting thread local variables
+      (these are different than Fiber local variables).
+    * added Thread#thread_variable_set for setting thread local variables.
+    * added Thread#thread_variables for getting a list of the thread local
+      variable keys.
+    * added Thread#thread_variable? for testing to see if a particular thread
+      variable has been set.
+    * added Thread.handle_interrupt as well as instance and singleton methods
+      pending_interrupt? for asynchronous handling of exceptions
+    * added Thread#backtrace_locations which returns similar information of
       Kernel#caller_locations.
-    * incompatible changes:
-      * Thread#join and Thread#value now raises a ThreadError if target thread
-        is the current or main thread.
-
-  * Time
-    * change return value:
-      * Time#to_s now returns US-ASCII encoding instead of BINARY.
-
-  * TracePoint
-    * new class. This class is replacement of set_trace_func.
-      Easy to use and efficient implementation.
-
-  * toplevel
-    * added method:
-      * added main.define_method which defines a global function.
-      * added main.using, which imports refinements into the current file or
-        eval string. [experimental]
+  * new class Thread::Backtrace::Location to hold backtrace location
+    information. These are returned by Thread#backtrace_locations and
+    Kernel#caller_locations.
+  * incompatible changes:
+    * Thread#join and Thread#value now raises a ThreadError if target thread
+      is the current or main thread.
+
+* Time
+  * change return value:
+    * Time#to_s now returns US-ASCII encoding instead of BINARY.
+
+* TracePoint
+  * new class. This class is replacement of set_trace_func.
+    Easy to use and efficient implementation.
+
+* toplevel
+  * added method:
+    * added main.define_method which defines a global function.
+    * added main.using, which imports refinements into the current file or
+      eval string. [experimental]
+
+=== Core classes compatibility issues (excluding feature bug fixes)
+
+* Array#values_at
+
+  See above.
+
+* String#lines
+* String#chars
+* String#codepoints
+* String#bytes
+
+  These methods no longer return an Enumerator, although passing a
+  block is still supported for backwards compatibility.
+
+  Code like str.lines.with_index(1) { |line, lineno| ... } no longer
+  works because str.lines returns an array.  Replace lines with
+  each_line in such cases.
+
+* IO#lines
+* IO#chars
+* IO#codepoints
+* IO#bytes
+* ARGF#lines
+* ARGF#chars
+* ARGF#bytes
+* StringIO#lines
+* StringIO#chars
+* StringIO#codepoints
+* StringIO#bytes
+* Zlib::GzipReader#lines
+* Zlib::GzipReader#bytes
+
+  These methods are deprecated in favor of each_line, each_byte,
+  each_char and each_codepoint.
+
+* Proc#==
+* Proc#eql?
+
+  These methods were removed. Two procs are == only when they are
+  the same object.
+
+* Fixnum
+* Bignum
+* Float
+
+  Fixnums, Bignums and Floats are frozen.
+
+* Signal.trap
+
+  See above.
+
+* Merge Onigmo.
+  https://github.com/k-takata/Onigmo
+
+* The :close_others option is true by default for system() and exec().
+  Also, the close-on-exec flag is set by default for all new file descriptors.
+  This means file descriptors doesn't inherit to spawned process unless
+  explicitly requested such as system(..., fd=>fd).
+
+* Kernel#respond_to? against a protected method now returns false
+  unless the second argument is true.
+
+* Kernel#respond_to_missing?
+* Kernel#initialize_clone
+* Kernel#initialize_dup
+
+  These methods are now private.
+
+* Thread#join, Thread#value
+
+  See above.
+
+* Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize and Mutex#sleep
+
+  See above.
+
+=== Stdlib updates (outstanding ones only)
 
 * cgi
   * Add HTML5 tag maker.
@@ -395,9 +478,9 @@ with all sufficient information, see the https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/NEWS#L478
     https://github.com/rubygems/rubygems/blob/master/History.txt
 
 * shellwords
-    * Shellwords#shellescape() now stringifies the given object using to_s.
-    * Shellwords#shelljoin() accepts non-string objects in the given
-      array, each of which is stringified using to_s.
+  * Shellwords#shellescape now stringifies the given object using to_s.
+  * Shellwords#shelljoin accepts non-string objects in the given
+    array, each of which is stringified using to_s.
 
 * stringio
   * deprecated methods:
@@ -431,95 +514,18 @@ with all sufficient information, see the https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/NEWS#L514
   * deprecated methods:
     * Zlib::GzipReader#lines and #bytes are deprecated.
 
-=== Language changes
-
-  * Added keyword arguments.
-
-  * Added %i and %I for symbol list creation (similar to %w and %W).
-
-  * Default source encoding is changed to UTF-8. (was US-ASCII)
-
-  * No warning for unused variables starting with '_'
-
-=== Compatibility issues (excluding feature bug fixes)
-
-  * Array#values_at
+=== Stdlib compatibility issues (excluding feature bug fixes)
 
-    See above.
+* OpenStruct new methods can conflict with custom attributes named
+  "each_pair", "eql?", "hash" or "to_h".
 
-  * String#lines
-  * String#chars
-  * String#codepoints
-  * String#bytes
+* Dir.mktmpdir in lib/tmpdir.rb
 
-    These methods no longer return an Enumerator, although passing a
-    block is still supported for backwards compatibility.
+  See above.
 
-    Code like str.lines.with_index(1) { |line, lineno| ... } no longer
-    works because str.lines returns an array.  Re (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]