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

ruby-changes:10974

From: nobu <ko1@a...>
Date: Sun, 22 Feb 2009 23:23:56 +0900 (JST)
Subject: [ruby-changes:10974] Ruby:r22552 (trunk): stripped trailing spaces.

nobu	2009-02-22 23:23:33 +0900 (Sun, 22 Feb 2009)

  New Revision: 22552

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

  Log:
    stripped trailing spaces.

  Modified files:
    trunk/array.c
    trunk/bignum.c
    trunk/blockinlining.c
    trunk/class.c
    trunk/compar.c
    trunk/compile.c
    trunk/cont.c
    trunk/debug.c
    trunk/dln.c
    trunk/encoding.c
    trunk/enum.c
    trunk/error.c
    trunk/eval_error.c
    trunk/gc.c
    trunk/goruby.c
    trunk/id.c
    trunk/io.c
    trunk/iseq.c
    trunk/load.c
    trunk/marshal.c
    trunk/math.c
    trunk/numeric.c
    trunk/object.c
    trunk/parse.y
    trunk/proc.c
    trunk/random.c
    trunk/range.c
    trunk/re.c
    trunk/regcomp.c
    trunk/regenc.c
    trunk/regerror.c
    trunk/regexec.c
    trunk/regparse.c
    trunk/regsyntax.c
    trunk/signal.c
    trunk/sprintf.c
    trunk/strftime.c
    trunk/struct.c
    trunk/time.c
    trunk/transcode.c
    trunk/util.c
    trunk/vm_eval.c
    trunk/vm_insnhelper.c

Index: goruby.c
===================================================================
--- goruby.c	(revision 22551)
+++ goruby.c	(revision 22552)
@@ -1,4 +1,4 @@
-void Init_golf(void); 
+void Init_golf(void);
 #define ruby_run_node goruby_run_node
 #include "main.c"
 #undef ruby_run_node
Index: regparse.c
===================================================================
--- regparse.c	(revision 22551)
+++ regparse.c	(revision 22552)
@@ -50,7 +50,7 @@
       ONIG_SYN_OP2_CCLASS_SET_OP | ONIG_SYN_OP2_ESC_CAPITAL_C_BAR_CONTROL |
       ONIG_SYN_OP2_ESC_CAPITAL_M_BAR_META | ONIG_SYN_OP2_ESC_V_VTAB |
       ONIG_SYN_OP2_ESC_H_XDIGIT )
-  , ( SYN_GNU_REGEX_BV | 
+  , ( SYN_GNU_REGEX_BV |
       ONIG_SYN_ALLOW_INTERVAL_LOW_ABBREV |
       ONIG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND |
       ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP |
@@ -2658,7 +2658,7 @@
       }
       else {
 	r = ONIGERR_INVALID_GROUP_NAME;
-	is_num = 0;	
+	is_num = 0;
       }
     }
     else if (!ONIGENC_IS_CODE_WORD(enc, c)) {
@@ -2846,7 +2846,7 @@
   OnigCodePoint x;
   UChar *q;
   UChar *p = from;
-  
+
   while (p < to) {
     x = ONIGENC_MBC_TO_CODE(enc, p, to);
     q = p + enclen(enc, p, to);
@@ -3407,7 +3407,7 @@
         goto skip_backref;
       }
 
-      if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_DECIMAL_BACKREF) && 
+      if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_DECIMAL_BACKREF) &&
 	  (num <= env->num_mem || num <= 9)) { /* This spec. from GNU regex */
 	if (IS_SYNTAX_BV(syn, ONIG_SYN_STRICT_CHECK_BACKREF)) {
 	  if (num > env->num_mem || IS_NULL(SCANENV_MEM_NODES(env)[num]))
@@ -4388,7 +4388,7 @@
 	  CC_ESC_WARN(env, (UChar* )"-");
 	  goto range_end_val;
 	}
-	
+
 	if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_ALLOW_DOUBLE_RANGE_OP_IN_CC)) {
 	  CC_ESC_WARN(env, (UChar* )"-");
 	  goto sb_char;   /* [0-9-a] is allowed as [0-9\-a] */
@@ -5073,7 +5073,7 @@
       r = parse_subexp(&target, tok, term, src, end, env);
       env->option = prev;
       if (r < 0) return r;
-      NENCLOSE(*np)->target = target;	
+      NENCLOSE(*np)->target = target;
       return tok->type;
     }
     break;
@@ -5241,7 +5241,7 @@
 	    xmemcpy(new_key, &key, sizeof(type_cclass_key));
             onig_st_add_direct(OnigTypeCClassTable, (st_data_t )new_key,
                                (st_data_t )*np);
-            
+
             THREAD_ATOMIC_END;
           }
           else {
@@ -5387,7 +5387,7 @@
       NQTFR(qn)->greedy = tok->u.repeat.greedy;
       r = set_quantifier(qn, *targetp, group, env);
       if (r < 0) return r;
-      
+
       if (tok->u.repeat.possessive != 0) {
 	Node* en;
 	en = node_new_enclose(ENCLOSE_STOP_BACKTRACK);
Index: array.c
===================================================================
--- array.c	(revision 22551)
+++ array.c	(revision 22552)
@@ -95,7 +95,7 @@
         ARY_SET_HEAP_LEN(ary, n); \
     } \
     assert(RARRAY_LEN(ary) == n); \
-} while (0) 
+} while (0)
 #define ARY_INCREASE_PTR(ary, n) do  { \
     assert(!ARY_EMBED_P(ary)); \
     assert(!OBJ_FROZEN(ary)); \
@@ -144,31 +144,31 @@
 ary_resize_capa(VALUE ary, long capacity)
 {
     assert(RARRAY_LEN(ary) <= capacity);
-    assert(!OBJ_FROZEN(ary)); 
-    assert(!ARY_SHARED_P(ary)); 
+    assert(!OBJ_FROZEN(ary));
+    assert(!ARY_SHARED_P(ary));
     if (capacity > RARRAY_EMBED_LEN_MAX) {
         if (ARY_EMBED_P(ary)) {
-            long len = ARY_EMBED_LEN(ary); 
+            long len = ARY_EMBED_LEN(ary);
             VALUE *ptr = ALLOC_N(VALUE, (capacity));
-            MEMCPY(ptr, ARY_EMBED_PTR(ary), VALUE, len); 
-            FL_UNSET_EMBED(ary); 
-            ARY_SET_PTR(ary, ptr); 
-            ARY_SET_HEAP_LEN(ary, len); 
+            MEMCPY(ptr, ARY_EMBED_PTR(ary), VALUE, len);
+            FL_UNSET_EMBED(ary);
+            ARY_SET_PTR(ary, ptr);
+            ARY_SET_HEAP_LEN(ary, len);
         }
-        else { 
+        else {
             REALLOC_N(RARRAY(ary)->as.heap.ptr, VALUE, (capacity));
         }
-        ARY_SET_CAPA(ary, (capacity)); 
+        ARY_SET_CAPA(ary, (capacity));
     }
     else {
         if (!ARY_EMBED_P(ary)) {
-            long len = RARRAY_LEN(ary); 
+            long len = RARRAY_LEN(ary);
             VALUE *ptr = RARRAY_PTR(ary);
             if (len > capacity) len = capacity;
-            MEMCPY(RARRAY(ary)->as.ary, ptr, VALUE, len); 
-            FL_SET_EMBED(ary); 
-            ARY_SET_LEN(ary, len); 
-            xfree(ptr); 
+            MEMCPY(RARRAY(ary)->as.ary, ptr, VALUE, len);
+            FL_SET_EMBED(ary);
+            ARY_SET_LEN(ary, len);
+            xfree(ptr);
         }
     }
 }
@@ -458,11 +458,11 @@
  *  Try to convert <i>obj</i> into an array, using to_ary method.
  *  Returns converted array or nil if <i>obj</i> cannot be converted
  *  for any reason.  This method is to check if an argument is an
- *  array.  
+ *  array.
  *
  *     Array.try_convert([1])   # => [1]
  *     Array.try_convert("1")   # => nil
- *     
+ *
  *     if tmp = Array.try_convert(arg)
  *       # the argument is an array
  *     elsif tmp = String.try_convert(arg)
@@ -496,22 +496,22 @@
  *     Array.new
  *     Array.new(2)
  *     Array.new(5, "A")
- * 
+ *
  *     # only one copy of the object is created
  *     a = Array.new(2, Hash.new)
  *     a[0]['cat'] = 'feline'
  *     a
  *     a[1]['cat'] = 'Felix'
  *     a
- * 
+ *
  *     # here multiple copies are created
  *     a = Array.new(2) { Hash.new }
  *     a[0]['cat'] = 'feline'
  *     a
- * 
+ *
  *     squares = Array.new(5) {|i| i*i}
  *     squares
- * 
+ *
  *     copy = Array.new(squares)
  */
 
@@ -571,8 +571,8 @@
 }
 
 
-/* 
-* Returns a new array populated with the given objects. 
+/*
+* Returns a new array populated with the given objects.
 *
 *   Array.[]( 1, 'a', /^A/ )
 *   Array[ 1, 'a', /^A/ ]
@@ -678,7 +678,7 @@
 /*
  *  call-seq:
  *     array << obj            -> array
- *  
+ *
  *  Append---Pushes the given object on to the end of this array. This
  *  expression returns the array itself, so several appends
  *  may be chained together.
@@ -695,16 +695,16 @@
     return ary;
 }
 
-/* 
+/*
  *  call-seq:
  *     array.push(obj, ... )   -> array
- *  
+ *
  *  Append---Pushes the given object(s) on to the end of this array. This
  *  expression returns the array itself, so several appends
  *  may be chained together.
  *
  *     a = [ "a", "b", "c" ]
- *     a.push("d", "e", "f")  
+ *     a.push("d", "e", "f")
  *             #=> ["a", "b", "c", "d", "e", "f"]
  */
 
@@ -739,13 +739,13 @@
  *  call-seq:
  *     array.pop    -> obj or nil
  *     array.pop(n) -> array
- *  
+ *
  *  Removes the last element from <i>self</i> and returns it, or
  *  <code>nil</code> if the array is empty.
  *
  *  If a number _n_ is given, returns an array of the last n elements
  *  (or less) just like <code>array.slice!(-n, n)</code> does.
- *     
+ *
  *     a = [ "a", "b", "c", "d" ]
  *     a.pop     #=> "d"
  *     a.pop(2)  #=> ["b", "c"]
@@ -796,14 +796,14 @@
  *  call-seq:
  *     array.shift    -> obj or nil
  *     array.shift(n) -> array
- *  
+ *
  *  Returns the first element of <i>self</i> and removes it (shifting all
  *  other elements down by one). Returns <code>nil</code> if the array
  *  is empty.
  *
  *  If a number _n_ is given, returns an array of the first n elements
  *  (or less) just like <code>array.slice!(0, n)</code> does.
- *     
+ *
  *     args = [ "-m", "-q", "filename" ]
  *     args.shift     #=> "-m"
  *     args           #=> ["-q", "filename"]
@@ -840,10 +840,10 @@
 /*
  *  call-seq:
  *     array.unshift(obj, ...)  -> array
- *  
+ *
  *  Prepends objects to the front of <i>array</i>.
  *  other elements up one.
- *     
+ *
  *     a = [ "b", "c", "d" ]
  *     a.unshift("a")   #=> ["a", "b", "c", "d"]
  *     a.unshift(1, 2)  #=> [ 1, 2, "a", "b", "c", "d"]
@@ -864,7 +864,7 @@
     MEMMOVE(RARRAY_PTR(ary) + argc, RARRAY_PTR(ary), VALUE, len);
     MEMCPY(RARRAY_PTR(ary), argv, VALUE, argc);
     ARY_INCREASE_LEN(ary, argc);
-    
+
     return ary;
 }
 
@@ -911,7 +911,7 @@
     return ary_make_partial(ary, klass, beg, len);
 }
 
-/* 
+/*
  *  call-seq:
  *     array[index]                -> obj      or nil
  *     array[start, length]        -> an_array or nil
@@ -977,7 +977,7 @@
     return rb_ary_entry(ary, NUM2LONG(arg));
 }
 
-/* 
+/*
  *  call-seq:
  *     array.at(index)   ->   obj  or nil
  *
@@ -1000,11 +1000,11 @@
  *  call-seq:
  *     array.first     ->   obj or nil
  *     array.first(n)  ->   an_array
- *  
+ *
  *  Returns the first element, or the first +n+ elements, of the array.
  *  If the array is empty, the first form returns <code>nil</code>, and the
  *  second form returns an empty array.
- *     
+ *
  *     a = [ "q", "r", "s", "t" ]
  *     a.first     #=> "q"
  *     a.first(2)  #=> ["q", "r"]
@@ -1026,10 +1026,10 @@
  *  call-seq:
  *     array.last     ->  obj or nil
  *     array.last(n)  ->  an_array
- *  
+ *
  *  Returns the last element(s) of <i>self</i>. If the array is empty,
  *  the first form returns <code>nil</code>.
- *     
+ *
  *     a = [ "w", "x", "y", "z" ]
  *     a.last     #=> "z"
  *     a.last(2)  #=> ["y", "z"]
@@ -1052,14 +1052,14 @@
  *     array.fetch(index)                    -> obj
  *     array.fetch(index, default )          -> obj
  *     array.fetch(index) {|index| block }   -> obj
- *  
+ *
  *  Tries to return the element at position <i>index</i>. If the index
  *  lies outside the array, the first form throws an
  *  <code>IndexError</code> exception, the second form returns
  *  <i>default</i>, and the third form returns the value of invoking
  *  the block, passing in the index. Negative values of <i>index</i>
  *  count from the end of the array.
- *     
+ *
  *     a = [ 11, 22, 33, 44 ]
  *     a.fetch(1)               #=> 22
  *     a.fetch(-1)              #=> 44
@@ -1098,12 +1098,12 @@
  *  call-seq:
  *     array.index(obj)           ->  int or nil
  *     array.index {|item| block} ->  int or nil
- *  
+ *
  *  Returns the index of the first object in <i>self</i> such that is
  *  <code>==</code> to <i>obj</i>. If a block is given instead of an
  *  argument, returns first object for which <em>block</em> is true.
  *  Returns <code>nil</code> if no match is found.
- *     
+ *
  *     a = [ "a", "b", "c" ]
  *     a.index("b")        #=> 1
  *     a.index("z")        #=> nil
@@ -1138,12 +1138,12 @@
 /*
  *  call-seq:
  *     array.rindex(obj)    ->  int or nil
- *  
+ *
  *  Returns the index of the last object in <i>array</i>
  *  <code>==</code> to <i>obj</i>. If a block is given instead of an
  *  argument, returns first object for which <em>block</em> is
  *  true. Returns <code>nil</code> if no match is found.
- *     
+ *
  *     a = [ "a", "b", "b", "b", "c" ]
  *     a.rindex("b")        #=> 3
  *     a.rindex("z")        #=> nil
@@ -1248,7 +1248,7 @@
     }
 }
 
-/* 
+/*
  *  call-seq:
  *     array[index]         = obj                     ->  obj
  *     array[start, length] = obj or an_array or nil  ->  obj or an_array or nil
@@ -1264,7 +1264,7 @@
  *  zero. An +IndexError+ is raised if a negative index points
  *  past the beginning of the array. See also
  *  <code>Array#push</code>, and <code>Array#unshift</code>.
- * 
+ *
  *     a = Array.new
  *     a[4] = "4";                 #=> [nil, nil, nil, nil, "4"]
  *     a[0, 3] = [ 'a', 'b', 'c' ] #=> ["a", "b", "c", nil, "4"]
@@ -1309,10 +1309,10 @@
 /*
  *  call-seq:
  *     array.insert(index, obj...)  -> array
- *  
+ *
  *  Inserts the given values before the element with the given index
  *  (which may be negative).
- *     
+ *
  *     a = %w{ a b c d }
  *     a.insert(2, 99)         #=> ["a", "b", 99, "c", "d"]
  *     a.insert(-2, 1, 2, 3)   #=> ["a", "b", 99, "c", 1, 2, 3, "d"]
@@ -1341,15 +1341,15 @@
 /*
  *  call-seq:
  *     array.each {|item| block }   ->   array
- *  
+ *
  *  Calls <i>block</i> once for each element in <i>self</i>, passing that
  *  element as a parameter.
- *     
+ *
  *     a = [ "a", "b", "c" ]
  *     a.each {|x| print x, " -- " }
- *     
+ *
  *  produces:
- *     
+ *
  *     a -- b -- c --
  */
 
@@ -1368,15 +1368,15 @@
 /*
  *  call-seq:
  *     array.each_index {|index| block }  ->  array
- *  
+ *
  *  Same as <code>Array#each</code>, but passes the index of the element
  *  instead of the element itself.
- *     
+ *
  *     a = [ "a", "b", "c" ]
  *     a.each_index {|x| print x, " -- " }
- *     
+ *
  *  produces:
- *     
+ *
  *     0 -- 1 -- 2 --
  */
 
@@ -1394,16 +1394,16 @@
 
 /*
  *  call-seq:
- *     array.reverse_each {|item| block } 
- *  
+ *     array.reverse_each {|item| block }
+ *
  *  Same as <code>Array#each</code>, but traverses <i>self</i> in reverse
  *  order.
- *     
+ *
  *     a = [ "a", "b", "c" ]
  *     a.reverse_each {|x| print x, " " }
- *     
+ *
  *  produces:
- *     
+ *
  *     c b a
  */
 
@@ -1426,9 +1426,9 @@
 /*
  *  call-seq:
  *     array.length -> int
- *  
+ *
  *  Returns the number of elements in <i>self</i>. May be zero.
- *     
+ *
  *     [ 1, 2, 3, 4, 5 ].length   #=> 5
  */
 
@@ -1442,9 +1442,9 @@
 /*
  *  call-seq:
  *     array.empty?   -> true or false
- *  
+ *
  *  Returns <code>true</code> if <i>self</i> array contains no elements.
- *     
+ *
  *     [].empty?   #=> true
  */
 
@@ -1543,10 +1543,10 @@
 /*
  *  call-seq:
  *     array.join(sep=$,)    -> str
- *  
+ *
  *  Returns a string created by converting each element of the array to
  *  a string, separated by <i>sep</i>.
- *     
+ *
  *     [ "a", "b", "c" ].join        #=> "abc"
  *     [ "a", "b", "c" ].join("-")   #=> "a-b-c"
  */
@@ -1558,7 +1558,7 @@
 
     rb_scan_args(argc, argv, "01", &sep);
     if (NIL_P(sep)) sep = rb_output_fs;
-    
+
     return rb_ary_join(ary, sep);
 }
 
@@ -1609,7 +1609,7 @@
 /*
  *  call-seq:
  *     array.to_a     -> array
- *  
+ *
  *  Returns _self_. If called on a subclass of Array, converts
  *  the receiver to an Array object.
  */
@@ -1628,7 +1628,7 @@
 /*
  *  call-seq:
  *     array.to_ary -> array
- *  
+ *
  *  Returns _self_.
  */
 
@@ -1660,10 +1660,10 @@
 
 /*
  *  call-seq:
- *     array.reverse!   -> array 
- *  
+ *     array.reverse!   -> array
+ *
  *  Reverses _self_ in place.
- *     
+ *
  *     a = [ "a", "b", "c" ]
  *     a.reverse!       #=> ["c", "b", "a"]
  *     a                #=> ["c", "b", "a"]
@@ -1678,9 +1678,9 @@
 /*
  *  call-seq:
  *     array.reverse -> an_array
- *  
+ *
  *  Returns a new array containing <i>self</i>'s elements in reverse order.
- *     
+ *
  *     [ "a", "b", "c" ].reverse   #=> ["c", "b", "a"]
  *     [ 1 ].reverse               #=> [1]
  */
@@ -1763,14 +1763,14 @@
 /*
  *  call-seq:
  *     array.sort!                   -> array
- *     array.sort! {| a,b | block }  -> array 
- *  
+ *     array.sort! {| a,b | block }  -> array
+ *
  *  Sorts _self_. Comparisons for
  *  the sort will be done using the <code><=></code> operator or using
  *  an optional code block. The block implements a comparison between
  *  <i>a</i> and <i>b</i>, returning -1, 0, or +1. See also
  *  <code>Enumerable#sort_by</code>.
- *     
+ *
  *     a = [ "d", "a", "e", "c", "b" ]
  *     a.sort                    #=> ["a", "b", "c", "d", "e"]
  *     a.sort {|x,y| y <=> x }   #=> ["e", "d", "c", "b", "a"]
@@ -1823,7 +1823,7 @@
                 ARY_SET_PTR(ary, RARRAY_PTR(tmp));
                 ARY_SET_HEAP_LEN(ary, RARRAY_LEN(tmp));
                 ARY_SET_CAPA(ary, ARY_CAPA(tmp));
-            } 
+            }
             /* tmp was lost ownership for the ptr */
             FL_UNSET(tmp, FL_FREEZE);
             FL_SET_EMBED(tmp);
@@ -1838,15 +1838,15 @@
 
 /*
  *  call-seq:
- *     array.sort                   -> an_array 
- *     array.sort {| a,b | block }  -> an_array 
- *  
+ *     array.sort                   -> an_array
+ *     array.sort {| a,b | block }  -> an_array
+ *
  *  Returns a new array created by sorting <i>self</i>. Comparisons for
  *  the sort will be done using the <code><=></code> operator or using
  *  an optional code block. The block implements a comparison between
  *  <i>a</i> and <i>b</i>, returning -1, 0, or +1. See also
  *  <code>Enumerable#sort_by</code>.
- *     
+ *
  *     a = [ "d", "a", "e", "c", "b" ]
  *     a.sort                    #=> ["a", "b", "c", "d", "e"]
  *     a.sort {|x,y| y <=> x }   #=> ["e", "d", "c", "b", "a"]
@@ -1892,11 +1892,11 @@
  *  call-seq:
  *     array.collect {|item| block }  -> an_array
  *     array.map     {|item| block }  -> an_array
- *  
- *  Invokes <i>block</i> once for each element of <i>self</i>. Creates a 
+ *
+ *  Invokes <i>block</i> once for each element of <i>self</i>. Creates a
  *  new array containing the values returned by the block.
  *  See also <code>Enumerable#collect</code>.
- *     
+ *
  *     a = [ "a", "b", "c", "d" ]
  *     a.collect {|x| x + "!" }   #=> ["a!", "b!", "c!", "d!"]
  *     a                          #=> ["a", "b", "c", "d"]
@@ -1917,7 +1917,7 @@
 }
 
 
-/* 
+/*
  *  call-seq:
  *     array.collect! {|item| block }   ->   array
  *     array.map!     {|item| block }   ->   array
@@ -1925,7 +1925,7 @@
  *  Invokes the block once for each element of _self_, replacing the
  *  element with the value returned by _block_.
  *  See also <code>Enumerable#collect</code>.
- *   
+ *
  *     a = [ "a", "b", "c", "d" ]
  *     a.collect! {|x| x + "!" }
  *     a             #=>  [ "a!", "b!", "c!", "d!" ]
@@ -1972,15 +1972,15 @@
     return result;
 }
 
-/* 
+/*
  *  call-seq:
  *     array.values_at(selector,... )  -> an_array
  *
  *  Returns an array containing the elements in
  *  _self_ corresponding to the given selector(s). The selectors
- *  may be either integer indices or ranges. 
+ *  may be either integer indices or ranges.
  *  See also <code>Array#select</code>.
- * 
+ *
  *     a = %w{ a b c d e f }
  *     a.values_at(1, 3, 5)
  *     a.values_at(1, 3, 5, 7)
@@ -1998,11 +1998,11 @@
 /*
  *  call-seq:
  *     array.select {|item| block } -> an_array
- *  
+ *
  *  Invokes the block passing in successive elements from <i>array</i>,
  *  returning an array containing those elements for which the block
  *  returns a true value (equivalent to <code>Enumerable#select</code>).
- *     
+ *
  *     a = %w{ a b c d e f }
  *     a.select {|v| v =~ /[aeiou]/}   #=> ["a", "e"]
  */
@@ -2025,14 +2025,14 @@
 
 /*
  *  call-seq:
- *     array.delete(obj)            -> obj or nil 
+ *     array.delete(obj)            -> obj or nil
  *     array.delete(obj) { block }  -> obj or nil
- *  
+ *
  *  Deletes items from <i>self</i> that are equal to <i>obj</i>. If
  *  the item is not found, returns <code>nil</code>. If the optional
  *  code block is given, returns the result of <i>block</i> if the item
  *  is not found.
- *     
+ *
  *     a = [ "a", "b", "b", "b", "c" ]
  *     a.delete("b")                   #=> "b"
  *     a                               #=> ["a", "c"]
@@ -2101,11 +2101,11 @@
 /*
  *  call-seq:
  *     array.delete_at(index)  -> obj or nil
- *  
+ *
  *  Deletes the element at the specified index, returning that element,
  *  or <code>nil</code> if the index is out of range. See also
  *  <code>Array#slice!</code>.
- *     
+ *
  *     a = %w( ant bat cat dog )
  *     a.delete_at(2)    #=> "cat"
  *     a                 #=> ["ant", "bat", "dog"]
@@ -2122,12 +2122,12 @@
  *  call-seq:
  *     array.slice!(index)         -> obj or nil
  *     array.slice!(start, length) -> sub_array or nil
- *     array.slice!(range)         -> sub_array or nil 
- *  
+ *     array.slice!(range)         -> sub_array or nil
+ *
  *  Deletes the element(s) given by an index (optionally with a length)
  *  or by a range. Returns the deleted object, subarray, or
  *  <code>nil</code> if the index is out of range.
- *     
+ *
  *     a = [ "a", "b", "c" ]
  *     a.slice!(1)     #=> "b"
  *     a               #=> ["a", "c"]
@@ -2185,7 +2185,7 @@
 /*
  *  call-seq:
  *     array.reject! {|item| block }  -> array or nil
- *  
+ *
  *  Equivalent to <code>Array#delete_if</code>, deleting elements from
  *  _self_ for which the block evaluates to true, but returns
  *  <code>nil</code> if no changes were made. Also see
@@ -2217,7 +2217,7 @@
 /*
  *  call-seq:
  *     array.reject {|item| block }  -> an_array
- *  
+ *
  *  Returns a new array containing the items in _self_
  *  for which the block is not true.
  */
@@ -2234,10 +2234,10 @@
 /*
  *  call-seq:
  *     array.delete_if {|item| block }  -> array
- *  
+ *
  *  Deletes every element of <i>self</i> for which <i>block</i> evaluates
  *  to <code>true</code>.
- *     
+ *
  *     a = [ "a", "b", "c" ]
  *     a.delete_if {|x| x >= "b" }   #=> ["a"]
  */
@@ -2277,7 +2277,7 @@
  *  call-seq:
  *     array.zip(arg, ...)                   -> an_array
  *     array.zip(arg, ...) {| arr | block }  -> nil
- *  
+ *
  *  Converts any arguments to arrays, then merges elements of
  *  <i>self</i> with corresponding elements from each argument. This
  *  generates a sequence of <code>self.size</code> <em>n</em>-element
@@ -2286,7 +2286,7 @@
  *  <code>nil</code> values are supplied. If a block given, it is
  *  invoked for each output array, otherwise an array of arrays is
  *  returned.
- *     
+ *
  *     a = [ 4, 5, 6 ]
  *     b = [ 7, 8, 9 ]
  *     [1,2,3].zip(a, b)      #=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
@@ -2329,10 +2329,10 @@
 /*
  *  call-seq:
  *     array.transpose -> an_array
- *  
+ *
  *  Assumes that <i>self</i> is an array of arrays and transposes the
  *  rows and columns.
- *     
+ *
  *     a = [[1,2], [3,4], [5,6]]
  *     a.transpose   #=> [[1, 3, 5], [2, 4, 6]]
  */
@@ -2368,10 +2368,10 @@
 /*
  *  call-seq:
  *     array.replace(other_array)  -> array
- *  
+ *
  *  Replaces the contents of <i>self</i> with the contents of
  *  <i>other_array</i>, truncating or expanding if necessary.
- *     
+ *
  *     a = [ "a", "b", "c", "d", "e" ]
  *     a.replace([ "x", "y", "z" ])   #=> ["x", "y", "z"]
  *     a                              #=> ["x", "y", "z"]
@@ -2387,7 +2387,7 @@
     if (RARRAY_LEN(orig) <= RARRAY_EMBED_LEN_MAX) {
         VALUE *ptr;
         VALUE shared = 0;
-        
+
         if (ARY_OWNS_HEAP_P(copy)) {
             xfree(RARRAY_PTR(copy));
         }
@@ -2419,7 +2419,7 @@
     return copy;
 }
 
-/* 
+/*
  *  call-seq:
  *     array.clear    ->  array
  *
@@ -2448,14 +2448,14 @@
  *     array.fill {|index| block }                    -> array
  *     array.fill(start [, length] ) {|index| block } -> array
  *     array.fill(range) {|index| block }             -> array
- *  
+ *
  *  The first three forms set the selected elements of <i>self</i> (which
  *  may be the entire array) to <i>obj</i>. A <i>start</i> of
  *  <code>nil</code> is equivalent to zero. A <i>length</i> of
  *  <code>nil</code> is equivalent to <i>self.length</i>. The last three
  *  forms fill the array with the value of the block. The block is
  *  passed the absolute index of each element to be filled.
- *     
+ *
  *     a = [ "a", "b", "c", "d" ]
  *     a.fill("x")              #=> ["x", "x", "x", "x"]
  *     a.fill("z", 2, 2)        #=> ["x", "x", "z", "z"]
@@ -2535,13 +2535,13 @@
     return ary;
 }
 
-/* 
+/*
  *  call-seq:
  *     array + other_array   -> an_array
  *
  *  Concatenation---Returns a new array built by concatenating the
  *  two arrays together to produce a third array.
- * 
+ *
  *     [ 1, 2, 3 ] + [ 4, 5 ]    #=> [ 1, 2, 3, 4, 5 ]
  */
 
@@ -2560,12 +2560,12 @@
     return z;
 }
 
-/* 
+/*
  *  call-seq:
  *     array.concat(other_array)   ->  array
  *
  *  Appends the elements in other_array to _self_.
- *  
+ *
  *     [ "a", "b" ].concat( ["c", "d"] ) #=> [ "a", "b", "c", "d" ]
  */
 
@@ -2581,7 +2581,7 @@
 }
 
 
-/* 
+/*
  *  call-seq:
  *     array * int     ->    an_array
  *     array * str     ->    a_string
@@ -2632,7 +2632,7 @@
     return ary2;
 }
 
-/* 
+/*
  *  call-seq:
  *     array.assoc(obj)   ->  an_array  or  nil
  *
@@ -2670,12 +2670,12 @@
 /*
  *  call-seq:
  *     array.rassoc(obj) -> an_array or nil
- *  
+ *
  *  Searches through the array whose elements are also arrays. Compares
  *  _obj_ with the second element of each contained array using
  *  <code>==</code>. Returns the first contained array that matches. See
  *  also <code>Array#assoc</code>.
- *     
+ *
  *     a = [ [ 1, "one"], [2, "two"], [3, "three"], ["ii", "two"] ]
  *     a.rassoc("two")    #=> [2, "two"]
  *     a.rassoc("four")   #=> nil
@@ -2710,7 +2710,7 @@
     return Qtrue;
 }
 
-/* 
+/*
  *  call-seq:
  *     array == other_array   ->   bool
  *
@@ -2803,11 +2803,11 @@
 /*
  *  call-seq:
  *     array.include?(obj)   -> true or false
- *  
+ *
  *  Returns <code>true</code> if the given object is present in
  *  <i>self</i> (that is, if any object <code>==</code> <i>anObject</i>),
  *  <code>false</code> otherwise.
- *     
+ *
  *     a = [ "a", "b", "c" ]
  *     a.include?("b")   #=> true
  *     a.include?("z")   #=> false
@@ -2817,7 +2817,7 @@
 rb_ary_includes(VALUE ary, VALUE item)
 {
     long i;
-    
+
     for (i=0; i<RARRAY_LEN(ary); i++) {
 	if (rb_equal(RARRAY_PTR(ary)[i], item)) {
 	    return Qtrue;
@@ -2846,7 +2846,7 @@
     return Qundef;
 }
 
-/* 
+/*
  *  call-seq:
  *     array <=> other_array   ->  -1, 0, +1
  *
@@ -2860,7 +2860,7 @@
  *  ``equal'' according to <code>Array#<=></code> if and only if they have
  *  the same length and the value of each element is equal to the
  *  value of the corresponding element in the other array.
- *  
+ *
  *     [ "a", "a", "c" ]    <=> [ "a", "b", "c" ]   #=> -1
  *     [ 1, 2, 3, 4, 5, 6 ] <=> [ 1, 2 ]            #=> +1
  *
@@ -2940,7 +2940,7 @@
     }
 }
 
-/* 
+/*
  *  call-seq:
  *     array - other_array    -> an_array
  *
@@ -2970,7 +2970,7 @@
     return ary3;
 }
 
-/* 
+/*
  *  call-seq:
  *     array & other_array
  *
@@ -3006,7 +3006,7 @@
     return ary3;
 }
 
-/* 
+/*
  *  call-seq:
  *     array | other_array     ->  an_array
  *
@@ -3054,17 +3054,17 @@
 /*
  *  call-seq:
  *     array.uniq! -> array or nil
- *  
+ *
  *  Removes duplicate elements from _self_.
  *  Returns <code>nil</code> if no changes are made (that is, no
  *  duplicates are found).
- *     
+ *
  *     a = [ "a", "a", "b", "b", "c" ]
  *     a.uniq!   #=> ["a", "b", "c"]
  *     b = [ "a", "b", "c" ]
  *     b.uniq!   #=> nil
  *     c = [ "a:def", "a:xyz", "b:abc", "b:xyz", "c:jkl" ]
- *     c.uniq! {|s| s[/^\w+/]}  #=> [ "a:def", "b:abc", "c:jkl" ] 
+ *     c.uniq! {|s| s[/^\w+/]}  #=> [ "a:def", "b:abc", "c:jkl" ]
  */
 
 static VALUE
@@ -3103,13 +3103,13 @@
 /*
  *  call-seq:
  *     array.uniq   -> an_array
- *  
+ *
  *  Returns a new array by removing duplicate values in <i>self</i>.
- *     
+ *
  *     a = [ "a", "a", "b", "b", "c" ]
  *     a.uniq   #=> ["a", "b", "c"]
  *     c = [ "a:def", "a:xyz", "b:abc", "b:xyz", "c:jkl" ]
- *     c.uniq {|s| s[/^\w+/]}  #=> [ "a:def", "b:abc", "c:jkl" ] 
+ *     c.uniq {|s| s[/^\w+/]}  #=> [ "a:def", "b:abc", "c:jkl" ]
  */
 
 static VALUE
@@ -3138,7 +3138,7 @@
     return uniq;
 }
 
-/* 
+/*
  *  call-seq:
  *     array.compact!    ->   array  or  nil
  *
@@ -3158,7 +3158,7 @@
     rb_ary_modify(ary);
     p = t = RARRAY_PTR(ary);
     end = p + RARRAY_LEN(ary);
-    
+
     while (t < end) {
 	if (NIL_P(*t)) t++;
 	else *p++ = *t++;
@@ -3198,7 +3198,7 @@
  *     array.count      -> int
  *     array.count(obj) -> int
  *     array.count { |item| block }  -> int
- *  
+ *
  *  Returns the number of elements.  If an argument is given, counts
  *  the number of elements which equals to <i>obj</i>.  If a block is
  *  given, counts the number of elements yielding a true value.
@@ -3298,12 +3298,12 @@
  *  call-seq:
  *     array.flatten! -> array or nil
  *     array.flatten!(level) -> array or nil
- *  
+ *
  *  Flattens _self_ in place.
  *  Returns <code>nil</code> if no modifications were made (i.e.,
  *  <i>array</i> contains no subarrays.)  If the optional <i>level</i>
  *  argument determines the level of recursion to flatten.
- *     
+ *
  *     a = [ 1, 2, [3, [4, 5] ] ]
  *     a.flatten!   #=> [1, 2, 3, 4, 5]
  *     a.flatten!   #=> nil
@@ -3333,12 +3333,12 @@
  *  call-seq:
  *     array.flatten -> an_array
  *     array.flatten(level) -> an_array
- *  
+ *
  *  Returns a new array that is a one-dimensional flattening of this
  *  array (recursively). That is, for every element that is an array,
  *  extract its elements into the new array.  If the optional
  *  <i>level</i> argument determines the level of recursion to flatten.
- *     
+ *
  *     s = [ 1, 2, 3 ]           #=> [1, 2, 3]
  *     t = [ 4, 5, 6, [7, 8] ]   #=> [4, 5, 6, [7, 8]]
  *     a = [ s, t, 9, 10 ]       #=> [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]
@@ -3366,7 +3366,7 @@
 /*
  *  call-seq:
  *     array.shuffle!        -> array
- *  
+ *
  *  Shuffles elements in _self_ in place.
  */
 
@@ -3390,9 +3390,9 @@
 /*
  *  call-seq:
  *     array.shuffle -> an_array
- *  
+ *
  *  Returns a new array with elements of this array shuffled.
- *     
+ *
  *     a = [ 1, 2, 3 ]           #=> [1, 2, 3]
  *     a.shuffle                 #=> [2, 3, 1]
  */
@@ -3410,11 +3410,11 @@
  *  call-seq:
  *     array.sample        -> obj
  *     array.sample(n)     -> an_array
- *  
+ *
  *  Choose a random element, or the random +n+ elements, from the array.
  *  If the array is empty, the first form returns <code>nil</code>, and the
  *  second form returns an empty array.
- *  
+ *
  */
 
 
@@ -3424,7 +3424,7 @@
     VALUE nv, result, *ptr;
     long n, len, i, j, k, idx[10];
 
-    len = RARRAY_LEN(ary); 
+    len = RARRAY_LEN(ary);
     if (argc == 0) {
 	if (len == 0) return Qnil;
 	i = len == 1 ? 0 : rb_genrand_real()*len;
@@ -3432,8 +3432,8 @@
     }
     rb_scan_args(argc, argv, "1", &nv);
     n = NUM2LONG(nv);
-    ptr = RARRAY_PTR(ary); 
-    len = RARRAY_LEN(ary); 
+    ptr = RARRAY_PTR(ary);
+    len = RARRAY_LEN(ary);
     if (n > len) n = len;
     switch (n) {
       case 0: return rb_ary_new2(0);
@@ -3492,16 +3492,16 @@
  *  call-seq:
  *     ary.cycle {|obj| block }
  *     ary.cycle(n) {|obj| block }
- *  
+ *
  *  Calls <i>block</i> for each element repeatedly _n_ times or
  *  forever if none or nil is given.  If a non-positive number is
  *  given or the array is empty, does nothing.  Returns nil if the
  *  loop has finished without getting interrupted.
- *     
+ *
  *     a = ["a", "b", "c"]
  *     a.cycle {|x| puts x }  # print, a, b, c, a, b, c,.. forever.
  *     a.cycle(2) {|x| puts x }  # print, a, b, c, a, b, c.
- *     
+ *
  */
 
 static VALUE
@@ -3534,9 +3534,9 @@
 /*
  * Recursively compute permutations of r elements of the set [0..n-1].
  * When we have a complete permutation of array indexes, copy the values
- * at those indexes into a new array and yield that array. 
+ * at those indexes into a new array and yield that array.
  *
- * n: the size of the set 
+ * n: the size of the set
  * r: the number of elements in each permutation
  * p: the array (of size r) that we're filling in
  * index: what index we're filling in now
@@ -3553,7 +3553,7 @@
 	    if (index < r-1) {             /* if not done yet */
 		used[i] = 1;               /* mark index used */
 		permute0(n, r, p, index+1, /* recurse */
-			 used, values);  
+			 used, values);
 		used[i] = 0;               /* index unused */
 	    }
 	    else {
@@ -3578,15 +3578,15 @@
  *     ary.permutation                        -> enumerator
  *     ary.permutation(n) { |p| block }       -> array
  *     ary.permutation(n)                     -> enumerator
- *  
+ *
  * When invoked with a block, yield all permutations of length <i>n</i>
  * of the elements of <i>ary</i>, then return the array itself.
  * If <i>n</i> is not specified, yield all permutations of all elements.
- * The implementation makes no guarantees about the order in which 
+ * The implementation makes no guarantees about the order in which
  * the permutations are yielded.
  *
  * When invoked without a block, return an enumerator object instead.
- * 
+ *
  * Examples:
  *
  *     a = [1, 2, 3]
@@ -3609,7 +3609,7 @@
     rb_scan_args(argc, argv, "01", &num);
     r = NIL_P(num) ? n : NUM2LONG(num);   /* Permutation size from argument */
 
-    if (r < 0 || n < r) { 
+    if (r < 0 || n < r) {
 	/* no permutations: yield nothing */
     }
     else if (r == 0) { /* exactly one permutation: the zero-length array */
@@ -3662,14 +3662,14 @@
  *  call-seq:
  *     ary.combination(n) { |c| block }    -> ary
  *     ary.combination(n)                  -> enumerator
- *  
- * When invoked with a block, yields all combinations of length <i>n</i> 
+ *
+ * When invoked with a block, yields all combinations of length <i>n</i>
  * of elements from <i>ary</i> and then returns <i>ary</i> itself.
- * The implementation makes no guarantees about the order in which 
+ * The implementation makes no guarantees about the order in which
  * the combinations are yielded.
  *
  * When invoked without a block, returns an enumerator object instead.
- *     
+ *
  * Examples:
  *
  *     a = [1, 2, 3, 4]
@@ -3679,7 +3679,7 @@
  *     a.combination(4).to_a  #=> [[1,2,3,4]]
  *     a.combination(0).to_a  #=> [[]] # one combination of length 0
  *     a.combination(5).to_a  #=> []   # no combinations of length 5
- *     
+ *
  */
 
 static VALUE
@@ -3729,11 +3729,11 @@
 /*
  *  call-seq:
  *     ary.product(other_ary, ...)
- *  
+ *
  *  Returns an array of all combinations of elements from all arrays.
  *  The length of the returned array is the product of the length
  *  of ary and the argument arrays
- *     
+ *
  *     [1,2,3].product([4,5])     # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
  *     [1,2].product([1,2])       # => [[1,1],[1,2],[2,1],[2,2]]
  *     [1,2].product([3,4],[5,6]) # => [[1,3,5],[1,3,6],[1,4,5],[1,4,6],
@@ -3760,7 +3760,7 @@
     /* initialize the arrays of arrays */
     arrays[0] = ary;
     for (i = 1; i < n; i++) arrays[i] = to_ary(argv[i-1]);
-    
+
     /* initialize the counters for the arrays */
     for (i = 0; i < n; i++) counters[i] = 0;
 
@@ -3806,12 +3806,12 @@
 /*
  *  call-seq:
  *     ary.take(n)               => array
- *  
+ *
  *  Returns first n elements from <i>ary</i>.
- *     
+ *
  *     a = [1, 2, 3, 4, 5, 0]
  *     a.take(3)             # => [1, 2, 3]
- *     
+ *
  */
 
 static VALUE
@@ -3827,13 +3827,13 @@
 /*
  *  call-seq:
  *     ary.take_while {|arr| block }   => array
- *  
+ *
  *  Passes elements to the block until the block returns nil or false,
  *  then stops iterating and returns an array of all prior elements.
- *     
+ *
  *     a = [1, 2, 3, 4, 5, 0]
  *     a.take_while {|i| i < 3 }   # => [1, 2]
- *     
+ *
  */
 
 static VALUE
@@ -3851,13 +3851,13 @@
 /*
  *  call-seq:
  *     ary.drop(n)               => array
- *  
+ *
  *  Drops first n elements from <i>ary</i>, and returns rest elements
  *  in an array.
- *     
+ *
  *     a = [1, 2, 3, 4, 5, 0]
  *     a.drop(3)             # => [4, 5, 0]
- *     
+ *
  */
 
 static VALUE
@@ -3877,14 +3877,14 @@
 /*
  *  call-seq:
  *     ary.drop_while {|arr| block }   => array
- *  
+ *
  *  Drops elements up to, but not including, the first element for
  *  which the block returns nil or false and returns an array
  *  containing the remaining elements.
- *     
+ *
  *     a = [1, 2, 3, 4, 5, 0]
  *     a.drop_while {|i| i < 3 }   # => [3, 4, 5, 0]
- *     
+ *
  */
 
 static VALUE
@@ -3901,11 +3901,11 @@
 
 
 
-/* Arrays are ordered, integer-indexed collections of any object. 
- * Array indexing starts at 0, as in C or Java.  A negative index is 
- * assumed to be relative to the end of the array---that is, an index of -1 
- * indicates the last element of the array, -2 is the next to last 
- * element in the array, and so on. 
+/* Arrays are ordered, integer-indexed collections of any object.
+ * Array indexing starts at 0, as in C or Java.  A negative index is
+ * assumed to be relative to the end of the array---that is, an index of -1
+ * indicates the last element of the array, -2 is the next to last
+ * element in the array, and so on.
  */
 
 void
Index: debug.c
===================================================================
--- debug.c	(revision 22551)
+++ debug.c	(revision 22552)
@@ -30,7 +30,7 @@
         RUBY_ENC_CODERANGE_UNKNOWN = ENC_CODERANGE_UNKNOWN,
         RUBY_ENC_CODERANGE_7BIT    = ENC_CODERANGE_7BIT,
         RUBY_ENC_CODERANGE_VALID   = ENC_CODERANGE_VALID,
-        RUBY_ENC_CODERANGE_BROKEN  = ENC_CODERANGE_BROKEN, 
+        RUBY_ENC_CODERANGE_BROKEN  = ENC_CODERANGE_BROKEN,
         RUBY_FL_MARK        = FL_MARK,
         RUBY_FL_RESERVED    = FL_RESERVED,
         RUBY_FL_FINALIZE    = FL_FINALIZE,
Index: encoding.c
===================================================================
--- encoding.c	(revision 22551)
+++ encoding.c	(revision 22552)
@@ -925,7 +925,7 @@
  *   Encoding.compatible?(str1, str2) => enc or nil
  *
  * Checks the compatibility of two strings.
- * If they are compatible, means concatenatable, 
+ * If they are compatible, means concatenatable,
  * returns an encoding which the concatinated string will be.
  * If they are not compatible, nil is returned.
  *
Index: math.c
===================================================================
--- math.c	(revision 22551)
+++ math.c	(revision 22552)
@@ -64,10 +64,10 @@
 /*
  *  call-seq:
  *     Math.atan2(y, x)  => float
- *  
+ *
  *  Computes the arc tangent given <i>y</i> and <i>x</i>. Returns
  *  -PI..PI.
- *     
+ *
  */
 
 static VALUE
@@ -81,7 +81,7 @@
 /*
  *  call-seq:
  *     Math.cos(x)    => float
- *  
+ *
  *  Computes the cosine of <i>x</i> (expressed in radians). Returns
  *  -1..1.
  */
@@ -96,7 +96,7 @@
 /*
  *  call-seq:
  *     Math.sin(x)    => float
- *  
+ *
  *  Computes the sine of <i>x</i> (expressed in radians). Returns
  *  -1..1.
  */
@@ -113,7 +113,7 @@
 /*
  *  call-seq:
  *     Math.tan(x)    => float
- *  
+ *
  *  Returns the tangent of <i>x</i> (expressed in radians).
  */
 
@@ -128,7 +128,7 @@
 /*
  *  call-seq:
  *     Math.acos(x)    => float
- *  
+ *
  *  Computes the arc cosine of <i>x</i>. Returns 0..PI.
  */
 
@@ -148,7 +148,7 @@
 /*
  *  call-seq:
  *     Math.asin(x)    => float
- *  
+ *
  *  Computes the arc sine of <i>x</i>. Returns -{PI/2} .. {PI/2}.
  */
 
@@ -168,7 +168,7 @@
 /*
  *  call-seq:
  *     Math.atan(x)    => float
- *  
+ *
  *  Computes the arc tangent of <i>x</i>. Returns -{PI/2} .. {PI/2}.
  */
 
@@ -190,7 +190,7 @@
 /*
  *  call-seq:
  *     Math.cosh(x)    => float
- *  
+ *
  *  Computes the hyperbolic cosine of <i>x</i> (expressed in radians).
  */
 
@@ -198,7 +198,7 @@
 math_cosh(VALUE obj, VALUE x)
 {
     Need_Float(x);
-    
+
     return DBL2NUM(cosh(RFLOAT_VALUE(x)));
 }
 
@@ -213,7 +213,7 @@
 /*
  *  call-seq:
  *     Math.sinh(x)    => float
- *  
+ *
  *  Computes the hyperbolic sine of <i>x</i> (expressed in
  *  radians).
  */
@@ -236,7 +236,7 @@
 /*
  *  call-seq:
  *     Math.tanh()    => float
- *  
+ *
  *  Computes the hyperbolic tangent of <i>x</i> (expressed in
  *  radians).
  */
@@ -251,7 +251,7 @@
 /*
  *  call-seq:
  *     Math.acosh(x)    => float
- *  
+ *
  *  Computes the inverse hyperbolic cosine of <i>x</i>.
  */
 
@@ -271,7 +271,7 @@
 /*
  *  call-seq:
  *     Math.asinh(x)    => float
- *  
+ *
  *  Computes the inverse hyperbolic sine of <i>x</i>.
  */
 
@@ -285,7 +285,7 @@
 /*
  *  call-seq:
  *     Math.atanh(x)    => float
- *  
+ *
  *  Computes the inverse hyperbolic tangent of <i>x</i>.
  */
 
@@ -306,7 +306,7 @@
 /*
  *  call-seq:
  *     Math.exp(x)    => float
- *  
+ *
  *  Returns e**x.
  */
 
@@ -330,7 +330,7 @@
  *  call-seq:
  *     Math.log(numeric)    => float
  *     Math.log(num,base)   => float
- *  
+ *
  *  Returns the natural logarithm of <i>numeric</i>.
  *  If additional second argument is given, it will be the base
  *  of logarithm.
@@ -371,7 +371,7 @@
 /*
  *  call-seq:
  *     Math.log2(numeric)    => float
- *  
+ *
  *  Returns the base 2 logarithm of <i>numeric</i>.
  */
 
@@ -392,7 +392,7 @@
 /*
  *  call-seq:
  *     Math.log10(numeric)    => float
- *  
+ *
  *  Returns the base 10 logarithm of <i>numeric</i>.
  */
 
@@ -413,10 +413,10 @@
 /*
  *  call-seq:
  *     Math.sqrt(numeric)    => float
- *  
+ *
  *  Returns the non-negative square root of <i>numeric</i>.
  *
- *    0.upto(10) {|x|            
+ *    0.upto(10) {|x|
  *      p [x, Math.sqrt(x), Math.sqrt(x)**2]
  *    }
  *    #=>
@@ -450,7 +450,7 @@
 /*
  *  call-seq:
  *     Math.cbrt(numeric)    => float
- *  
+ *
  *  Returns the cube root of <i>numeric</i>.
  *
  *    -9.upto(9) {|x|
@@ -489,11 +489,11 @@
 /*
  *  call-seq:
  *     Math.frexp(numeric)    => [ fraction, exponent ]
- *  
+ *
  *  Returns a two-element array containing the normalized fraction (a
  *  <code>Float</code>) and exponent (a <code>Fixnum</code>) of
  *  <i>numeric</i>.
- *     
+ *
  *     fraction, exponent = Math.frexp(1234)   #=> [0.6025390625, 11]
  *     fraction * 2**exponent                  #=> 1234.0
  */
@@ -505,7 +505,7 @@
     int exp;
 
     Need_Float(x);
-    
+
     d = frexp(RFLOAT_VALUE(x), &exp);
     return rb_assoc_new(DBL2NUM(d), INT2NUM(exp));
 }
@@ -513,9 +513,9 @@
 /*
  *  call-seq:
  *     Math.ldexp(flt, int) -> float
- *  
+ *
  *  Returns the value of <i>flt</i>*(2**<i>int</i>).
- *     
+ *
  *     fraction, exponent = Math.frexp(1234)
  *     Math.ldexp(fraction, exponent)   #=> 1234.0
  */
@@ -530,10 +530,10 @@
 /*
  *  call-seq:
  *     Math.hypot(x, y)    => float
- *  
+ *
  *  Returns sqrt(x**2 + y**2), the hypotenuse of a right-angled triangle
  *  with sides <i>x</i> and <i>y</i>.
- *     
+ *
  *     Math.hypot(3, 4)   #=> 5.0
  */
 
@@ -689,7 +689,7 @@
  *  trigonometric and transcendental functions. See class
  *  <code>Float</code> for a list of constants that
  *  define Ruby's floating point accuracy.
- */     
+ */
 
 
 void
Index: regcomp.c
===================================================================
--- regcomp.c	(revision 22551)
+++ regcomp.c	(revision 22552)
@@ -2555,7 +2555,7 @@
 	  }
 	}
 	break;
-	
+
       default:
 	break;
       }
@@ -3294,7 +3294,7 @@
   for (i = 0; i < item_num; i++) {
     snode = onig_node_new_str(NULL, NULL);
     if (IS_NULL(snode)) goto mem_err;
-    
+
     for (j = 0; j < items[i].code_len; j++) {
       len = ONIGENC_CODE_TO_MBC(reg->enc, items[i].code[j], buf);
       if (len < 0) {
@@ -4004,15 +4004,15 @@
 {
   /* 1000 / (min-max-dist + 1) */
   static const short int dist_vals[] = {
-    1000,  500,  333,  250,  200,  167,  143,  125,  111,  100, 
-      91,   83,   77,   71,   67,   63,   59,   56,   53,   50, 
-      48,   45,   43,   42,   40,   38,   37,   36,   34,   33, 
-      32,   31,   30,   29,   29,   28,   27,   26,   26,   25, 
-      24,   24,   23,   23,   22,   22,   21,   21,   20,   20, 
-      20,   19,   19,   19,   18,   18,   18,   17,   17,   17, 
-      16,   16,   16,   16,   15,   15,   15,   15,   14,   14, 
-      14,   14,   14,   14,   13,   13,   13,   13,   13,   13, 
-      12,   12,   12,   12,   12,   12,   11,   11,   11,   11, 
+    1000,  500,  333,  250,  200,  167,  143,  125,  111,  100,
+      91,   83,   77,   71,   67,   63,   59,   56,   53,   50,
+      48,   45,   43,   42,   40,   38,   37,   36,   34,   33,
+      32,   31,   30,   29,   29,   28,   27,   26,   26,   25,
+      24,   24,   23,   23,   22,   22,   21,   21,   20,   20,
+      20,   19,   19,   19,   18,   18,   18,   17,   17,   17,
+      16,   16,   16,   16,   15,   15,   15,   15,   14,   14,
+      14,   14,   14,   14,   13,   13,   13,   13,   13,   13,
+      12,   12,   12,   12,   12,   12,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   10,   10,   10,   10,   10
   };
 
@@ -4899,7 +4899,7 @@
     reg->exact = str_dup(e->s, e->s + e->len);
     CHECK_NULL_RETURN_MEMERR(reg->exact);
     reg->exact_end = reg->exact + e->len;
- 
+
     allow_reverse =
 	ONIGENC_IS_ALLOWED_REVERSE_MATCH(reg->enc, reg->exact, reg->exact_end);
 
@@ -5938,7 +5938,7 @@
       p_len_string(f, len, 1, bp);
       bp += len;
       break;
-    
+
     case OP_EXACTMB2N1:
       p_string(f, 2, bp); bp += 2; break;
     case OP_EXACTMB2N2:
@@ -5958,7 +5958,7 @@
     case OP_EXACTMBN:
       {
 	int mb_len;
-      
+
 	GET_LENGTH_INC(mb_len, bp);
 	GET_LENGTH_INC(len, bp);
 	fprintf(f, ":%d:%d:", mb_len, len);
Index: time.c
===================================================================
--- time.c	(revision 22551)
+++ time.c	(revision 22552)
@@ -74,18 +74,18 @@
 /*
  *  call-seq:
  *     Time.new -> time
- *  
+ *
  *  Returns a <code>Time</code> object initialized to the current system
  *  time. <b>Note:</b> The object created will be created using the
  *  resolution available on your system clock, and so may include
  *  fractional seconds.
- *     
+ *
  *     a = Time.new      #=> 2007-11-19 07:50:02 -0600
  *     b = Time.new      #=> 2007-11-19 07:50:02 -0600
  *     a == b            #=> false
  *     "%.6f" % a.to_f   #=> "1195480202.282373"
  *     "%.6f" % b.to_f   #=> "1195480202.283415"
- *     
+ *
  */
 
 static VALUE
@@ -104,7 +104,7 @@
     }
 #else
     {
-        struct timeval tv; 
+        struct timeval tv;
         if (gettimeofday(&tv, 0) < 0) {
             rb_sys_fail("gettimeofday");
         }
@@ -297,14 +297,14 @@
  *     Time.at(time) => time
  *     Time.at(seconds_with_frac) => time
  *     Time.at(seconds, microseconds_with_frac) => time
- *  
+ *
  *  Creates a new time object with the value given by <i>time</i>,
  *  the given number of <i>seconds_with_frac</i>, or
  *  <i>seconds</i> and <i>microseconds_with_frac</i> from the Epoch.
  *  <i>seconds_with_frac</i> and <i>microseconds_with_frac</i>
  *  can be Integer, Float, Rational, or other Numeric.
  *  non-portable feature allows the offset to be negative on some systems.
- *     
+ *
  *     Time.at(0)            #=> 1969-12-31 18:00:00 -0600
  *     Time.at(Time.at(0))   #=> 1969-12-31 18:00:00 -0600
  *     Time.at(946702800)    #=> 1999-12-31 23:00:00 -0600
@@ -667,7 +667,7 @@
 
 	      To avoid overflow in this assignment, `d' is restricted to less than
 	      sqrt(2**31).  By this restriction and other reasons, the guess is
-	      not accurate and some error is expected.  `range' approximates 
+	      not accurate and some error is expected.  `range' approximates
 	      the maximum error.
 
 	      When these parameters are not suitable, i.e. guess is not within
@@ -726,7 +726,7 @@
 	}
 
 	if (guess <= guess_lo || guess_hi <= guess) {
-	    /* Precious guess is invalid. try binary search. */ 
+	    /* Precious guess is invalid. try binary search. */
 	    guess = guess_lo / 2 + guess_hi / 2;
 	    if (guess <= guess_lo)
 		guess = guess_lo + 1;
@@ -738,7 +738,7 @@
 	tm = GUESS(&guess);
 	if (!tm) goto error;
 	have_guess = 0;
-	
+
 	d = tmcmp(tptr, tm);
 	if (d < 0) {
 	    guess_hi = guess;
@@ -922,7 +922,7 @@
  *    Time.gm(year, month, day, hour, min, sec_with_frac) => time
  *    Time.gm(year, month, day, hour, min, sec, usec_with_frac) => time
  *    Time.gm(sec, min, hour, day, month, year, wday, yday, isdst, tz) => time
- *     
+ *
  *  Creates a time based on given values, interpreted as UTC (GMT). The
  *  year must be specified. Other values default to the minimum value
  *  for that field (and may be <code>nil</code> or omitted). Months may
@@ -960,10 +960,10 @@
  *   Time.mktime(year, month, day, hour, min, sec_with_frac) => time
  *   Time.mktime(year, month, day, hour, min, sec, usec_with_frac) => time
  *   Time.mktime(sec, min, hour, day, month, year, wday, yday, isdst, tz) => time
- *  
+ *
  *  Same as <code>Time::gm</code>, but interprets the values in the
  *  local time zone.
- *     
+ *
  *     Time.local(2000,"jan",1,20,15,1)   #=> 2000-01-01 20:15:01 -0600
  */
 
@@ -977,10 +977,10 @@
  *  call-seq:
  *     time.to_i   => int
  *     time.tv_sec => int
- *  
+ *
  *  Returns the value of <i>time</i> as an integer number of seconds
  *  since the Epoch.
- *     
+ *
  *     t = Time.now
  *     "%10.5f" % t.to_f   #=> "1049896564.17839"
  *     t.to_i              #=> 1049896564
@@ -998,10 +998,10 @@
 /*
  *  call-seq:
  *     time.to_f => float
- *  
+ *
  *  Returns the value of <i>time</i> as a floating point number of
  *  seconds since the Epoch.
- *     
+ *
  *     t = Time.now
  *     "%10.5f" % t.to_f   #=> "1049896564.13654"
  *     t.to_i              #=> 1049896564
@@ -1023,9 +1023,9 @@
  *  call-seq:
  *     time.usec    => int
  *     time.tv_usec => int
- *  
+ *
  *  Returns just the number of microseconds for <i>time</i>.
- *     
+ *
  *     t = Time.now        #=> 2007-11-19 08:03:26 -0600
  *     "%10.6f" % t.to_f   #=> "1195481006.775195"
  *     t.usec              #=> 775195
@@ -1044,9 +1044,9 @@
  *  call-seq:
  *     time.nsec    => int
  *     time.tv_nsec => int
- *  
+ *
  *  Returns just the number of nanoseconds for <i>time</i>.
- *     
+ *
  *     t = Time.now        #=> 2007-11-17 15:18:03 +0900
  *     "%10.9f" % t.to_f   #=> "1195280283.536151409"
  *     t.nsec              #=> 536151406
@@ -1068,15 +1068,15 @@
 
 /*
  *  call-seq:
- *     time <=> other_time => -1, 0, +1 
- *  
+ *     time <=> other_time => -1, 0, +1
+ *
  *  Comparison---Compares <i>time</i> with <i>other_time</i>.
- *     
+ *
  *     t = Time.now       #=> 2007-11-19 08:12:12 -0600
  *     t2 = t + 2592000   #=> 2007-12-19 08:12:12 -0600
  *     t <=> t2           #=> -1
  *     t2 <=> t           #=> 1
- *     
+ *
  *     t = Time.now       #=> 2007-11-19 08:13:38 -0600
  *     t2 = t + 0.1       #=> 2007-11-19 08:13:38 -0600
  *     t.nsec             #=> 98222999
@@ -1144,10 +1144,10 @@
  *  call-seq:
  *     time.utc? => true or false
  *     time.gmt? => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>time</i> represents a time in UTC
  *  (GMT).
- *     
+ *
  *     t = Time.now                        #=> 2007-11-19 08:15:23 -0600
  *     t.utc?                              #=> false
  *     t = Time.gm(2000,"jan",1,20,15,1)   #=> 2000-01-01 20:15:01 UTC
@@ -1216,10 +1216,10 @@
 /*
  *  call-seq:
  *     time.localtime => time
- *  
+ *
  *  Converts <i>time</i> to local time (using the local time zone in
  *  effect for this process) modifying the receiver.
- *     
+ *
  *     t = Time.gm(2000, "jan", 1, 20, 15, 1)  #=> 2000-01-01 20:15:01 UTC
  *     t.gmt?                                  #=> true
  *     t.localtime                             #=> 2000-01-01 14:15:01 -0600
@@ -1256,9 +1256,9 @@
  *  call-seq:
  *     time.gmtime    => time
  *     time.utc       => time
- *  
+ *
  *  Converts <i>time</i> to UTC (GMT), modifying the receiver.
- *     
+ *
  *     t = Time.now   #=> 2007-11-19 08:18:31 -0600
  *     t.gmt?         #=> false
  *     t.gmtime       #=> 2007-11-19 14:18:31 UTC
@@ -1299,10 +1299,10 @@
 /*
  *  call-seq:
  *     time.getlocal => new_time
- *  
+ *
  *  Returns a new <code>new_time</code> object representing <i>time</i> in
  *  local time (using the local time zone in effect for this process).
- *     
+ *
  *     t = Time.gm(2000,1,1,20,15,1)   #=> 2000-01-01 20:15:01 UTC
  *     t.gmt?                          #=> true
  *     l = t.getlocal                  #=> 2000-01-01 14:15:01 -0600
@@ -1320,10 +1320,10 @@
  *  call-seq:
  *     time.getgm  => new_time
  *     time.getutc => new_time
- *  
+ *
  *  Returns a new <code>new_time</code> object representing <i>time</i> in
  *  UTC.
- *     
+ *
  *     t = Time.local(2000,1,1,20,15,1)   #=> 2000-01-01 20:15:01 -0600
  *     t.gmt?                             #=> false
  *     y = t.getgm                        #=> 2000-01-02 02:15:01 UTC
@@ -1348,9 +1348,9 @@
  *  call-seq:
  *     time.asctime => string
  *     time.ctime   => string
- *  
+ *
  *  Returns a canonical string representation of <i>time</i>.
- *     
+ *
  *     Time.now.asctime   #=> "Wed Apr  9 08:56:03 2003"
  */
 
@@ -1383,14 +1383,14 @@
  *  call-seq:
  *     time.inspect => string
  *     time.to_s    => string
- *  
+ *
  *  Returns a string representing <i>time</i>. Equivalent to calling
  *  <code>Time#strftime</code> with a format string of
  *  ``<code>%Y-%m-%d</code> <code>%H:%M:%S</code> <code>%z</code>''
  *  for a local time and
  *  ``<code>%Y-%m-%d</code> <code>%H:%M:%S</code> <code>UTC</code>''
  *  for a UTC time.
- *     
+ *
  *     Time.now.to_s       #=> "2007-10-05 16:09:51 +0900"
  *     Time.now.utc.to_s   #=> "2007-10-05 07:09:51 UTC"
  */
@@ -1461,10 +1461,10 @@
 /*
  *  call-seq:
  *     time + numeric => time
- *  
+ *
  *  Addition---Adds some number of seconds (possibly fractional) to
  *  <i>time</i> and returns that value as a new time.
- *     
+ *
  *     t = Time.now         #=> 2007-11-19 08:22:21 -0600
  *     t + (60 * 60 * 24)   #=> 2007-11-20 08:22:21 -0600
  */
@@ -1485,11 +1485,11 @@
  *  call-seq:
  *     time - other_time => float
  *     time - numeric    => time
- *  
+ *
  *  Difference---Returns a new time that represents the difference
  *  between two times, or subtracts the given number of seconds in
  *  <i>numeric</i> from <i>time</i>.
- *     
+ *
  *     t = Time.now       #=> 2007-11-19 08:23:10 -0600
  *     t2 = t + 2592000   #=> 2007-12-19 08:23:10 -0600
  *     t2 - t             #=> 2592000.0
@@ -1551,12 +1551,12 @@
 /*
  *  call-seq:
  *     time.sec => fixnum
- *  
+ *
  *  Returns the second of the minute (0..60)<em>[Yes, seconds really can
  *  range from zero to 60. This allows the system to inject leap seconds
  *  every now and then to correct for the fact that years are not really
  *  a convenient number of hours long.]</em> for <i>time</i>.
- *     
+ *
  *     t = Time.now   #=> 2007-11-19 08:25:02 -0600
  *     t.sec          #=> 2
  */
@@ -1576,9 +1576,9 @@
 /*
  *  call-seq:
  *     time.min => fixnum
- *  
+ *
  *  Returns the minute of the hour (0..59) for <i>time</i>.
- *     
+ *
  *     t = Time.now   #=> 2007-11-19 08:25:51 -0600
  *     t.min          #=> 25
  */
@@ -1598,9 +1598,9 @@
 /*
  *  call-seq:
  *     time.hour => fixnum
- *  
+ *
  *  Returns the hour of the day (0..23) for <i>time</i>.
- *     
+ *
  *     t = Time.now   #=> 2007-11-19 08:26:20 -0600
  *     t.hour         #=> 8
  */
@@ -1621,9 +1621,9 @@
  *  call-seq:
  *     time.day  => fixnum
  *     time.mday => fixnum
- *  
+ *
  *  Returns the day of the month (1..n) for <i>time</i>.
- *     
+ *
  *     t = Time.now   #=> 2007-11-19 08:27:03 -0600
  *     t.day          #=> 19
  *     t.mday         #=> 19
@@ -1645,9 +1645,9 @@
  *  call-seq:
  *     time.mon   => fixnum
  *     time.month => fixnum
- *  
+ *
  *  Returns the month of the year (1..12) for <i>time</i>.
- *     
+ *
  *     t = Time.now   #=> 2007-11-19 08:27:30 -0600
  *     t.mon          #=> 11
  *     t.month        #=> 11
@@ -1668,9 +1668,9 @@
 /*
  *  call-seq:
  *     time.year => fixnum
- *  
+ *
  *  Returns the year for <i>time</i> (including the century).
- *     
+ *
  *     t = Time.now   #=> 2007-11-19 08:27:51 -0600
  *     t.year         #=> 2007
  */
@@ -1690,10 +1690,10 @@
 /*
  *  call-seq:
  *     time.wday => fixnum
- *  
+ *
  *  Returns an integer representing the day of the week, 0..6, with
  *  Sunday == 0.
- *     
+ *
  *     t = Time.now   #=> 2007-11-20 02:35:35 -0600
  *     t.wday         #=> 2
  *     t.sunday?      #=> false
@@ -1729,9 +1729,9 @@
 /*
  *  call-seq:
  *     time.sunday? => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>time</i> represents Sunday.
- *     
+ *
  *     t = Time.local(1990, 4, 1)       #=> 1990-04-01 00:00:00 -0600
  *     t.sunday?                        #=> true
  */
@@ -1745,7 +1745,7 @@
 /*
  *  call-seq:
  *     time.monday? => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>time</i> represents Monday.
  *
  *     t = Time.local(2003, 8, 4)       #=> 2003-08-04 00:00:00 -0500
@@ -1761,7 +1761,7 @@
 /*
  *  call-seq:
  *     time.tuesday? => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>time</i> represents Tuesday.
  *
  *     t = Time.local(1991, 2, 19)      #=> 1991-02-19 00:00:00 -0600
@@ -1777,7 +1777,7 @@
 /*
  *  call-seq:
  *     time.wednesday? => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>time</i> represents Wednesday.
  *
  *     t = Time.local(1993, 2, 24)      #=> 1993-02-24 00:00:00 -0600
@@ -1793,7 +1793,7 @@
 /*
  *  call-seq:
  *     time.thursday? => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>time</i> represents Thursday.
  *
  *     t = Time.local(1995, 12, 21)     #=> 1995-12-21 00:00:00 -0600
@@ -1809,7 +1809,7 @@
 /*
  *  call-seq:
  *     time.friday? => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>time</i> represents Friday.
  *
  *     t = Time.local(1987, 12, 18)     #=> 1987-12-18 00:00:00 -0600
@@ -1825,7 +1825,7 @@
 /*
  *  call-seq:
  *     time.saturday? => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>time</i> represents Saturday.
  *
  *     t = Time.local(2006, 6, 10)      #=> 2006-06-10 00:00:00 -0500
@@ -1841,9 +1841,9 @@
 /*
  *  call-seq:
  *     time.yday => fixnum
- *  
+ *
  *  Returns an integer representing the day of the year, 1..366.
- *     
+ *
  *     t = Time.now   #=> 2007-11-19 08:32:31 -0600
  *     t.yday         #=> 323
  */
@@ -1864,10 +1864,10 @@
  *  call-seq:
  *     time.isdst => true or false
  *     time.dst?  => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>time</i> occurs during Daylight
  *  Saving Time in its time zone.
- *     
+ *
  *   # CST6CDT:
  *     Time.local(2000, 1, 1).zone    #=> "CST"
  *     Time.local(2000, 1, 1).isdst   #=> false
@@ -1900,10 +1900,10 @@
 /*
  *  call-seq:
  *     time.zone => string
- *  
+ *
  *  Returns the name of the time zone used for <i>time</i>. As of Ruby
  *  1.8, returns ``UTC'' rather than ``GMT'' for UTC times.
- *     
+ *
  *     t = Time.gm(2000, "jan", 1, 20, 15, 1)
  *     t.zone   #=> "UTC"
  *     t = Time.local(2000, "jan", 1, 20, 15, 1)
@@ -1918,7 +1918,7 @@
     char buf[64];
     int len;
 #endif
-    
+
     GetTimeval(time, tobj);
     if (tobj->tm_got == 0) {
 	time_get_tm(time, tobj->gmt);
@@ -1943,10 +1943,10 @@
  *     time.gmt_offset => fixnum
  *     time.gmtoff     => fixnum
  *     time.utc_offset => fixnum
- *  
+ *
  *  Returns the offset in seconds between the timezone of <i>time</i>
  *  and UTC.
- *     
+ *
  *     t = Time.gm(2000,1,1,20,15,1)   #=> 2000-01-01 20:15:01 UTC
  *     t.gmt_offset                    #=> 0
  *     l = t.getlocal                  #=> 2000-01-01 14:15:01 -0600
@@ -1998,14 +1998,14 @@
 /*
  *  call-seq:
  *     time.to_a => array
- *  
+ *
  *  Returns a ten-element <i>array</i> of values for <i>time</i>:
  *  {<code>[ sec, min, hour, day, month, year, wday, yday, isdst, zone
  *  ]</code>}. See the individual methods for an explanation of the
  *  valid ranges of each value. The ten elements can be passed directly
  *  to <code>Time::utc</code> or <code>Time::local</code> to create a
  *  new <code>Time</code>.
- *     
+ *
  *     t = Time.now     #=> 2007-11-19 08:36:01 -0600
  *     now = t.to_a     #=> [1, 36, 8, 19, 11, 2007, 1, 323, false, "CST"]
  */
@@ -2067,7 +2067,7 @@
 /*
  *  call-seq:
  *     time.strftime( string ) => string
- *  
+ *
  *  Formats <i>time</i> according to the directives in the given format
  *  string. Any text not listed as a directive will be passed through
  *  to the output string.
@@ -2107,7 +2107,7 @@
  *    %Y - Year with century
  *    %Z - Time zone name
  *    %% - Literal ``%'' character
- *     
+ *
  *     t = Time.now                        #=> 2007-11-19 08:37:48 -0600
  *     t.strftime("Printed on %m/%d/%Y")   #=> "Printed on 11/19/2007"
  *     t.strftime("at %I:%M%p")            #=> "at 08:37AM"
@@ -2247,7 +2247,7 @@
     VALUE str;
 
     rb_scan_args(argc, argv, "01", 0);
-    str = time_mdump(time); 
+    str = time_mdump(time);
 
     return str;
 }
@@ -2370,7 +2370,7 @@
  *  as equivalent.  GMT is the older way of referring to these
  *  baseline times but persists in the names of calls on POSIX
  *  systems.
- *     
+ *
  *  All times are stored with some number of nanoseconds. Be aware of
  *  this fact when comparing times with each other---times that are
  *  apparently equal when displayed may be different when compared.
Index: regenc.c
===================================================================
--- regenc.c	(revision 22551)
+++ regenc.c	(revision 22552)
@@ -123,7 +123,7 @@
 {
   int n = 0;
   UChar* q = (UChar* )p;
-  
+
   while (q < end) {
     q += ONIGENC_MBC_ENC_LEN(enc, q, end);
     n++;
@@ -137,7 +137,7 @@
   int n = 0;
   UChar* p = (UChar* )s;
   UChar* e = p + strlen((const char *)s);
-  
+
   while (1) {
     if (*p == '\0') {
       UChar* q;
Index: re.c
===================================================================
--- re.c	(revision 22551)
+++ re.c	(revision 22552)
@@ -708,7 +708,7 @@
  * A key of the hash is a name of the named captures.
  * A value of the hash is an array which is list of indexes of corresponding
  * named captures.
- * 
+ *
  *    /(?<foo>.)(?<bar>.)/.named_captures
  *    #=> {"foo"=>[1], "bar"=>[2]}
  *
@@ -2139,7 +2139,7 @@
                         goto escape_asis;
                     }
                 }
-                /* xxx: How about more than 199 subexpressions? */ 
+                /* xxx: How about more than 199 subexpressions? */
 
               case '0': /* \0, \0O, \0OO */
 
@@ -2350,7 +2350,7 @@
     if (options & ARG_ENCODING_NONE) {
         re->basic.flags |= REG_ENCODING_NONE;
     }
-    
+
     re->ptr = make_regexp(RSTRING_PTR(unescaped), RSTRING_LEN(unescaped), enc,
 			  options & ARG_REG_OPTION_MASK, err);
     if (!re->ptr) return -1;
@@ -2576,7 +2576,7 @@
  *
  *  If it is not matched, nil is assigned for the variables.
  *
- *     /(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/ =~ "  x = "   
+ *     /(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/ =~ "  x = "
  *     p lhs    #=> nil
  *     p rhs    #=> nil
  *
@@ -2694,18 +2694,18 @@
  *
  *     /(.)(.)(.)/.match("abc")[2]   #=> "b"
  *     /(.)(.)/.match("abc", 1)[2]   #=> "c"
- *     
+ *
  *  If a block is given, invoke the block with MatchData if match succeed, so
  *  that you can write
- *     
+ *
  *     pat.match(str) {|m| ...}
- *     
+ *
  *  instead of
- *      
+ *
  *     if m = pat.match(str)
  *       ...
  *     end
- *      
+ *
  *  The return value is a value from block execution in this case.
  */
 
@@ -3200,7 +3200,7 @@
           case 'k':
             if (s < e && ASCGET(s, e, &clen) == '<') {
                 char *name, *name_end;
-               
+
                 name_end = name = s + clen;
                 while (name_end < e) {
                     c = ASCGET(name_end, e, &clen);
Index: regerror.c
===================================================================
--- regerror.c	(revision 22551)
+++ regerror.c	(revision 22552)
@@ -251,7 +251,7 @@
 onig_error_code_to_str(s, code, va_alist)
   UChar* s;
   int code;
-  va_dcl 
+  va_dcl
 #endif
 {
   UChar *p, *q;
Index: eval_error.c
===================================================================
--- eval_error.c	(revision 22551)
+++ eval_error.c	(revision 22552)
@@ -159,7 +159,7 @@
 	long len = RARRAY_LEN(errat);
 	VALUE *ptr = RARRAY_PTR(errat);
         int skip = eclass == rb_eSysStackError;
-	
+
 #define TRACE_MAX (TRACE_HEAD+TRACE_TAIL+5)
 #define TRACE_HEAD 8
 #define TRACE_TAIL 5
Index: iseq.c
===================================================================
--- iseq.c	(revision 22551)
+++ iseq.c	(revision 22552)
@@ -1247,7 +1247,7 @@
     rb_hash_aset(misc, ID2SYM(rb_intern("local_size")), INT2FIX(iseq->local_size));
     rb_hash_aset(misc, ID2SYM(rb_intern("stack_max")), INT2FIX(iseq->stack_max));
 
-    /* 
+    /*
      * [:magic, :major_version, :minor_version, :format_type, :misc,
      *  :name, :filename, :type, :locals, :args,
      *  :catch_table, :bytecode]
Index: enum.c
===================================================================
--- enum.c	(revision 22551)
+++ enum.c	(revision 22552)
@@ -821,7 +821,7 @@
 { \
     return enum_##name##_func(enum_yield(argc, argv), memo); \
 }
-    
+
 static VALUE
 enum_all_func(VALUE result, VALUE *memo)
 {
@@ -1428,8 +1428,8 @@
 
 /*
  *  call-seq:
- *     enum.reverse_each {|item| block } 
- *  
+ *     enum.reverse_each {|item| block }
+ *
  *  Traverses <i>enum</i> in reverse order.
  */
 
Index: object.c
===================================================================
--- object.c	(revision 22551)
+++ object.c	(revision 22552)
@@ -36,7 +36,7 @@
 /*
  *  call-seq:
  *     obj === other   => true or false
- *  
+ *
  *  Case Equality---For class <code>Object</code>, effectively the same
  *  as calling  <code>#==</code>, but typically overridden by descendents
  *  to provide meaningful semantics in <code>case</code> statements.
@@ -64,7 +64,7 @@
  *     obj == other        => true or false
  *     obj.equal?(other)   => true or false
  *     obj.eql?(other)     => true or false
- *  
+ *
  *  Equality---At the <code>Object</code> level, <code>==</code> returns
  *  <code>true</code> only if <i>obj</i> and <i>other</i> are the
  *  same object. Typically, this method is overridden in descendent
@@ -83,7 +83,7 @@
  *  there are exceptions. <code>Numeric</code> types, for example,
  *  perform type conversion across <code>==</code>, but not across
  *  <code>eql?</code>, so:
- *     
+ *
  *     1 == 1.0     #=> true
  *     1.eql? 1.0   #=> false
  */
@@ -144,13 +144,13 @@
 /*
  *  call-seq:
  *     obj.class    => class
- *  
+ *
  *  Returns the class of <i>obj</i>, now preferred over
  *  <code>Object#type</code>, as an object's type in Ruby is only
  *  loosely tied to that object's class. This method must always be
  *  called with an explicit receiver, as <code>class</code> is also a
  *  reserved word in Ruby.
- *     
+ *
  *     1.class      #=> Fixnum
  *     self.class   #=> Object
  */
@@ -210,12 +210,12 @@
 /*
  *  call-seq:
  *     obj.clone -> an_object
- *  
+ *
  *  Produces a shallow copy of <i>obj</i>---the instance variables of
  *  <i>obj</i> are copied, but not the objects they reference. Copies
  *  the frozen and tainted state of <i>obj</i>. See also the discussion
  *  under <code>Object#dup</code>.
- *     
+ *
  *     class Klass
  *        attr_accessor :str
  *     end
@@ -251,7 +251,7 @@
 /*
  *  call-seq:
  *     obj.dup -> an_object
- *  
+ *
  *  Produces a shallow copy of <i>obj</i>---the instance variables of
  *  <i>obj</i> are copied, but not the objects they reference.
  *  <code>dup</code> copies the tainted state of <i>obj</i>. See also
@@ -295,7 +295,7 @@
 /*
  *  call-seq:
  *     obj.to_s    => string
- *  
+ *
  *  Returns a string representing <i>obj</i>. The default
  *  <code>to_s</code> prints the object's class and an encoding of the
  *  object id. As a special case, the top-level object that is the
@@ -365,11 +365,11 @@
 /*
  *  call-seq:
  *     obj.inspect   => string
- *  
+ *
  *  Returns a string containing a human-readable representation of
  *  <i>obj</i>. If not overridden, uses the <code>to_s</code> method to
  *  generate the string.
- *     
+ *
  *     [ 1, 2, 3..4, 'five' ].inspect   #=> "[1, 2, 3..4, \"five\"]"
  *     Time.new.inspect                 #=> "2008-03-08 19:43:39 +0900"
  */
@@ -407,7 +407,7 @@
 /*
  *  call-seq:
  *     obj.instance_of?(class)    => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>obj</i> is an instance of the given
  *  class. See also <code>Object#kind_of?</code>.
  */
@@ -433,11 +433,11 @@
  *  call-seq:
  *     obj.is_a?(class)       => true or false
  *     obj.kind_of?(class)    => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>class</i> is the class of
  *  <i>obj</i>, or if <i>class</i> is one of the superclasses of
  *  <i>obj</i> or modules included in <i>obj</i>.
- *     
+ *
  *     module M;    end
  *     class A
  *       include M
@@ -482,7 +482,7 @@
 /*
  *  call-seq:
  *     obj.tap{|x|...}    => obj
- *  
+ *
  *  Yields <code>x</code> to the block, and then returns <code>x</code>.
  *  The primary purpose of this method is to "tap into" a method chain,
  *  in order to perform operations on intermediate results within the chain.
@@ -535,10 +535,10 @@
  *
  *  call-seq:
  *     singleton_method_added(symbol)
- *  
+ *
  *  Invoked as a callback whenever a singleton method is added to the
  *  receiver.
- *     
+ *
  *     module Chatty
  *       def Chatty.singleton_method_added(id)
  *         puts "Adding #{id.id2name}"
@@ -547,13 +547,13 @@
  *       def two()          end
  *       def Chatty.three() end
  *     end
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     Adding singleton_method_added
  *     Adding one
  *     Adding three
- *     
+ *
  */
 
 /*
@@ -561,10 +561,10 @@
  *
  *  call-seq:
  *     singleton_method_removed(symbol)
- *  
+ *
  *  Invoked as a callback whenever a singleton method is removed from
  *  the receiver.
- *     
+ *
  *     module Chatty
  *       def Chatty.singleton_method_removed(id)
  *         puts "Removing #{id.id2name}"
@@ -577,9 +577,9 @@
  *         remove_method :one
  *       end
  *     end
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     Removing three
  *     Removing one
  */
@@ -589,10 +589,10 @@
  *
  *  call-seq:
  *     singleton_method_undefined(symbol)
- *  
+ *
  *  Invoked as a callback whenever a singleton method is undefined in
  *  the receiver.
- *     
+ *
  *     module Chatty
  *       def Chatty.singleton_method_undefined(id)
  *         puts "Undefining #{id.id2name}"
@@ -602,9 +602,9 @@
  *          undef_method(:one)
  *       end
  *     end
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     Undefining one
  */
 
@@ -644,7 +644,7 @@
 /*
  *  call-seq:
  *     obj.tainted?    => true or false
- *  
+ *
  *  Returns <code>true</code> if the object is tainted.
  */
 
@@ -659,7 +659,7 @@
 /*
  *  call-seq:
  *     obj.taint -> obj
- *  
+ *
  *  Marks <i>obj</i> as tainted---if the <code>$SAFE</code> level is
  *  set appropriately, many method calls which might alter the running
  *  programs environment will refuse to accept tainted strings.
@@ -682,7 +682,7 @@
 /*
  *  call-seq:
  *     obj.untaint    => obj
- *  
+ *
  *  Removes the taint from <i>obj</i>.
  */
 
@@ -702,7 +702,7 @@
 /*
  *  call-seq:
  *     obj.untrusted?    => true or false
- *  
+ *
  *  Returns <code>true</code> if the object is untrusted.
  */
 
@@ -717,7 +717,7 @@
 /*
  *  call-seq:
  *     obj.untrust -> obj
- *  
+ *
  *  Marks <i>obj</i> as untrusted.
  */
 
@@ -738,7 +738,7 @@
 /*
  *  call-seq:
  *     obj.trust    => obj
- *  
+ *
  *  Removes the untrusted mark from <i>obj</i>.
  */
 
@@ -766,18 +766,18 @@
 /*
  *  call-seq:
  *     obj.freeze    => obj
- *  
+ *
  *  Prevents further modifications to <i>obj</i>. A
  *  <code>RuntimeError</code> will be raised if modification is attempted.
  *  There is no way to unfreeze a frozen object. See also
  *  <code>Object#frozen?</code>.
- *     
+ *
  *     a = [ "a", "b", "c" ]
  *     a.freeze
  *     a << "z"
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     prog.rb:3:in `<<': can't modify frozen array (RuntimeError)
  *     	from prog.rb:3
  */
@@ -803,9 +803,9 @@
 /*
  *  call-seq:
  *     obj.frozen?    => true or false
- *  
+ *
  *  Returns the freeze status of <i>obj</i>.
- *     
+ *
  *     a = [ "a", "b", "c" ]
  *     a.freeze    #=> ["a", "b", "c"]
  *     a.frozen?   #=> true
@@ -832,9 +832,9 @@
 /*
  *  call-seq:
  *     nil.to_i => 0
- *  
+ *
  *  Always returns zero.
- *     
+ *
  *     nil.to_i   #=> 0
  */
 
@@ -848,9 +848,9 @@
 /*
  *  call-seq:
  *     nil.to_f    => 0.0
- *  
+ *
  *  Always returns zero.
- *     
+ *
  *     nil.to_f   #=> 0.0
  */
 
@@ -863,7 +863,7 @@
 /*
  *  call-seq:
  *     nil.to_s    => ""
- *  
+ *
  *  Always returns the empty string.
  */
 
@@ -878,9 +878,9 @@
  *
  *  call-seq:
  *     nil.to_a    => []
- *  
+ *
  *  Always returns an empty array.
- *     
+ *
  *     nil.to_a   #=> []
  */
 
@@ -930,7 +930,7 @@
 /*
  *  call-seq:
  *     true & obj    => true or false
- *  
+ *
  *  And---Returns <code>false</code> if <i>obj</i> is
  *  <code>nil</code> or <code>false</code>, <code>true</code> otherwise.
  */
@@ -944,16 +944,16 @@
 /*
  *  call-seq:
  *     true | obj   => true
- *  
+ *
  *  Or---Returns <code>true</code>. As <i>anObject</i> is an argument to
  *  a method call, it is always evaluated; there is no short-circuit
  *  evaluation in this case.
- *     
+ *
  *     true |  puts("or")
  *     true || puts("logical or")
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     or
  */
 
@@ -967,7 +967,7 @@
 /*
  *  call-seq:
  *     true ^ obj   => !obj
- *  
+ *
  *  Exclusive Or---Returns <code>true</code> if <i>obj</i> is
  *  <code>nil</code> or <code>false</code>, <code>false</code>
  *  otherwise.
@@ -987,7 +987,7 @@
  *  <code>FalseClass</code> and represents a logically false value in
  *  boolean expressions. The class provides operators allowing
  *  <code>false</code> to participate correctly in logical expressions.
- *     
+ *
  */
 
 /*
@@ -1007,7 +1007,7 @@
  *  call-seq:
  *     false & obj   => false
  *     nil & obj     => false
- *  
+ *
  *  And---Returns <code>false</code>. <i>obj</i> is always
  *  evaluated as it is the argument to a method call---there is no
  *  short-circuit evaluation in this case.
@@ -1024,7 +1024,7 @@
  *  call-seq:
  *     false | obj   =>   true or false
  *     nil   | obj   =>   true or false
- *  
+ *
  *  Or---Returns <code>false</code> if <i>obj</i> is
  *  <code>nil</code> or <code>false</code>; <code>true</code> otherwise.
  */
@@ -1041,11 +1041,11 @@
  *  call-seq:
  *     false ^ obj    => true or false
  *     nil   ^ obj    => true or false
- *  
+ *
  *  Exclusive Or---If <i>obj</i> is <code>nil</code> or
  *  <code>false</code>, returns <code>false</code>; otherwise, returns
  *  <code>true</code>.
- *     
+ *
  */
 
 static VALUE
@@ -1086,7 +1086,7 @@
 /*
  *  call-seq:
  *     obj =~ other  => nil
- *  
+ *
  *  Pattern Match---Overridden by descendents (notably
  *  <code>Regexp</code> and <code>String</code>) to provide meaningful
  *  pattern-match semantics.
@@ -1101,7 +1101,7 @@
 /*
  *  call-seq:
  *     obj !~ other  => true or false
- *  
+ *
  *  Returns true if two objects do not match (using the <i>=~</i>
  *  method), otherwise false.
  */
@@ -1124,11 +1124,11 @@
  *  included, module methods do not. Conversely, module methods may be
  *  called without creating an encapsulating object, while instance
  *  methods may not. (See <code>Module#module_function</code>)
- *     
+ *
  *  In the descriptions that follow, the parameter <i>syml</i> refers
  *  to a symbol, which is either a quoted string or a
  *  <code>Symbol</code> (such as <code>:name</code>).
- *     
+ *
  *     module Mod
  *       include Math
  *       CONST = 1
@@ -1139,7 +1139,7 @@
  *     Mod.class              #=> Module
  *     Mod.constants          #=> [:CONST, :PI, :E]
  *     Mod.instance_methods   #=> [:meth]
- *     
+ *
  */
 
 /*
@@ -1177,7 +1177,7 @@
 /*
  *  call-seq:
  *     mod.freeze
- *  
+ *
  *  Prevents further modifications to <i>mod</i>.
  */
 
@@ -1191,7 +1191,7 @@
 /*
  *  call-seq:
  *     mod === obj    => true or false
- *  
+ *
  *  Case Equality---Returns <code>true</code> if <i>anObject</i> is an
  *  instance of <i>mod</i> or one of <i>mod</i>'s descendents. Of
  *  limited use for modules, but can be used in <code>case</code>
@@ -1209,9 +1209,9 @@
  *   mod <= other   =>  true, false, or nil
  *
  * Returns true if <i>mod</i> is a subclass of <i>other</i> or
- * is the same as <i>other</i>. Returns 
- * <code>nil</code> if there's no relationship between the two. 
- * (Think of the relationship in terms of the class definition: 
+ * is the same as <i>other</i>. Returns
+ * <code>nil</code> if there's no relationship between the two.
+ * (Think of the relationship in terms of the class definition:
  * "class A<B" implies "A<B").
  *
  */
@@ -1247,9 +1247,9 @@
  * call-seq:
  *   mod < other   =>  true, false, or nil
  *
- * Returns true if <i>mod</i> is a subclass of <i>other</i>. Returns 
- * <code>nil</code> if there's no relationship between the two. 
- * (Think of the relationship in terms of the class definition: 
+ * Returns true if <i>mod</i> is a subclass of <i>other</i>. Returns
+ * <code>nil</code> if there's no relationship between the two.
+ * (Think of the relationship in terms of the class definition:
  * "class A<B" implies "A<B").
  *
  */
@@ -1267,9 +1267,9 @@
  *   mod >= other   =>  true, false, or nil
  *
  * Returns true if <i>mod</i> is an ancestor of <i>other</i>, or the
- * two modules are the same. Returns 
- * <code>nil</code> if there's no relationship between the two. 
- * (Think of the relationship in terms of the class definition: 
+ * two modules are the same. Returns
+ * <code>nil</code> if there's no relationship between the two.
+ * (Think of the relationship in terms of the class definition:
  * "class A<B" implies "B>A").
  *
  */
@@ -1292,9 +1292,9 @@
  * call-seq:
  *   mod > other   =>  true, false, or nil
  *
- * Returns true if <i>mod</i> is an ancestor of <i>other</i>. Returns 
- * <code>nil</code> if there's no relationship between the two. 
- * (Think of the relationship in terms of the class definition: 
+ * Returns true if <i>mod</i> is an ancestor of <i>other</i>. Returns
+ * <code>nil</code> if there's no relationship between the two.
+ * (Think of the relationship in terms of the class definition:
  * "class A<B" implies "B>A").
  *
  */
@@ -1309,7 +1309,7 @@
 /*
  *  call-seq:
  *     mod <=> other_mod   => -1, 0, +1, or nil
- *  
+ *
  *  Comparison---Returns -1 if <i>mod</i> includes <i>other_mod</i>, 0 if
  *  <i>mod</i> is the same as <i>other_mod</i>, and +1 if <i>mod</i> is
  *  included by <i>other_mod</i> or if <i>mod</i> has no relationship with
@@ -1358,11 +1358,11 @@
  *  call-seq:
  *    Module.new                  => mod
  *    Module.new {|mod| block }   => mod
- *  
+ *
  *  Creates a new anonymous module. If a block is given, it is passed
  *  the module object, and the block is evaluated in the context of this
  *  module using <code>module_eval</code>.
- *     
+ *
  *     Fred = Module.new do
  *       def meth1
  *         "hello"
@@ -1391,11 +1391,11 @@
 /*
  *  call-seq:
  *     Class.new(super_class=Object)   =>    a_class
- *  
+ *
  *  Creates a new anonymous (unnamed) class with the given superclass
  *  (or <code>Object</code> if no parameter is given). You can give a
  *  class a name by assigning the class object to a constant.
- *     
+ *
  */
 
 static VALUE
@@ -1424,23 +1424,23 @@
 /*
  *  call-seq:
  *     class.allocate()   =>   obj
- *  
+ *
  *  Allocates space for a new object of <i>class</i>'s class and does not
  *  call initialize on the new instance. The returned object must be an
  *  instance of <i>class</i>.
- *  
+ *
  *      klass = Class.new do
  *        def initialize(*args)
  *          @initialized = true
  *        end
- *      
+ *
  *        def initialized?
  *          @initialized || false
  *        end
  *      end
- *      
+ *
  *      klass.allocate.initialized? #=> false
- *     
+ *
  */
 
 VALUE
@@ -1472,13 +1472,13 @@
 /*
  *  call-seq:
  *     class.new(args, ...)    =>  obj
- *  
+ *
  *  Calls <code>allocate</code> to create a new object of
  *  <i>class</i>'s class, then invokes that object's
  *  <code>initialize</code> method, passing it <i>args</i>.
  *  This is the method that ends up getting called whenever
  *  an object is constructed using .new.
- *     
+ *
  */
 
 VALUE
@@ -1495,9 +1495,9 @@
 /*
  *  call-seq:
  *     class.superclass -> a_super_class or nil
- *  
+ *
  *  Returns the superclass of <i>class</i>, or <code>nil</code>.
- *     
+ *
  *     File.superclass          #=> IO
  *     IO.superclass            #=> Object
  *     Object.superclass        #=> BasicObject
@@ -1508,7 +1508,7 @@
  *  returns nil when the given class hasn't a parent class:
  *
  *     BasicObject.superclass   #=> nil
- *     
+ *
  */
 
 static VALUE
@@ -1533,7 +1533,7 @@
  *  call-seq:
  *     attr_reader(symbol, ...)    => nil
  *     attr(symbol, ...)             => nil
- *  
+ *
  *  Creates instance variables and corresponding methods that return the
  *  value of each instance variable. Equivalent to calling
  *  ``<code>attr</code><i>:name</i>'' on each name in turn.
@@ -1564,7 +1564,7 @@
 /*
  *  call-seq:
  *      attr_writer(symbol, ...)    => nil
- *  
+ *
  *  Creates an accessor method to allow assignment to the attribute
  *  <i>aSymbol</i><code>.id2name</code>.
  */
@@ -1583,12 +1583,12 @@
 /*
  *  call-seq:
  *     attr_accessor(symbol, ...)    => nil
- *  
+ *
  *  Defines a named attribute for this module, where the name is
  *  <i>symbol.</i><code>id2name</code>, creating an instance variable
  *  (<code>@name</code>) and a corresponding access method to read it.
  *  Also creates a method called <code>name=</code> to set the attribute.
- *     
+ *
  *     module Mod
  *       attr_accessor(:one, :two)
  *     end
@@ -1609,9 +1609,9 @@
 /*
  *  call-seq:
  *     mod.const_get(sym, inherit=true)    => obj
- *  
+ *
  *  Returns the value of the named constant in <i>mod</i>.
- *     
+ *
  *     Math.const_get(:PI)   #=> 3.14159265358979
  *
  *  If the constant is not defined or is defined by the ancestors and
@@ -1641,11 +1641,11 @@
 /*
  *  call-seq:
  *     mod.const_set(sym, obj)    => obj
- *  
+ *
  *  Sets the named constant to the given object, returning that object.
  *  Creates a new constant if no constant with the given name previously
  *  existed.
- *     
+ *
  *     Math.const_set("HIGH_SCHOOL_PI", 22.0/7.0)   #=> 3.14285714285714
  *     Math::HIGH_SCHOOL_PI - Math::PI              #=> 0.00126448926734968
  */
@@ -1665,10 +1665,10 @@
 /*
  *  call-seq:
  *     mod.const_defined?(sym, inherit=true)   => true or false
- *  
+ *
  *  Returns <code>true</code> if a constant with the given name is
  *  defined by <i>mod</i>, or its ancestors if +inherit+ is not false.
- *     
+ *
  *     Math.const_defined? "PI"   #=> true
  *     IO.const_defined? "SYNC"   #=> true
  *     IO.const_defined? "SYNC", false   #=> false
@@ -1697,17 +1697,17 @@
 /*
  *  call-seq:
  *     obj.methods    => array
- *  
+ *
  *  Returns a list of the names of methods publicly accessible in
  *  <i>obj</i>. This will include all the methods accessible in
  *  <i>obj</i>'s ancestors.
- *     
+ *
  *     class Klass
  *       def kMethod()
  *       end
  *     end
  *     k = Klass.new
- *     k.methods[0..9]    #=> ["kMethod", "freeze", "nil?", "is_a?", 
+ *     k.methods[0..9]    #=> ["kMethod", "freeze", "nil?", "is_a?",
  *                        #    "class", "instance_variable_set",
  *                        #    "methods", "extend", "__send__", "instance_eval"]
  *     k.methods.length   #=> 42
@@ -1738,7 +1738,7 @@
 /*
  *  call-seq:
  *     obj.protected_methods(all=true)   => array
- *  
+ *
  *  Returns the list of protected methods accessible to <i>obj</i>. If
  *  the <i>all</i> parameter is set to <code>false</code>, only those methods
  *  in the receiver will be listed.
@@ -1759,7 +1759,7 @@
 /*
  *  call-seq:
  *     obj.private_methods(all=true)   => array
- *  
+ *
  *  Returns the list of private methods accessible to <i>obj</i>. If
  *  the <i>all</i> parameter is set to <code>false</code>, only those methods
  *  in the receiver will be listed.
@@ -1780,7 +1780,7 @@
 /*
  *  call-seq:
  *     obj.public_methods(all=true)   => array
- *  
+ *
  *  Returns the list of public methods accessible to <i>obj</i>. If
  *  the <i>all</i> parameter is set to <code>false</code>, only those methods
  *  in the receiver will be listed.
@@ -1807,7 +1807,7 @@
  *  variable name should be included for regular instance
  *  variables. Throws a <code>NameError</code> exception if the
  *  supplied symbol is not valid as an instance variable name.
- *     
+ *
  *     class Fred
  *       def initialize(p1, p2)
  *         @a, @b = p1, p2
@@ -1832,12 +1832,12 @@
 /*
  *  call-seq:
  *     obj.instance_variable_set(symbol, obj)    => obj
- *  
+ *
  *  Sets the instance variable names by <i>symbol</i> to
  *  <i>object</i>, thereby frustrating the efforts of the class's
  *  author to attempt to provide proper encapsulation. The variable
  *  did not have to exist prior to this call.
- *     
+ *
  *     class Fred
  *       def initialize(p1, p2)
  *         @a, @b = p1, p2
@@ -1892,11 +1892,11 @@
 /*
  *  call-seq:
  *     mod.class_variable_get(symbol)    => obj
- *  
+ *
  *  Returns the value of the given class variable (or throws a
  *  <code>NameError</code> exception). The <code>@@</code> part of the
  *  variable name should be included for regular class variables
- *     
+ *
  *     class Fred
  *       @@foo = 99
  *     end
@@ -1917,10 +1917,10 @@
 /*
  *  call-seq:
  *     obj.class_variable_set(symbol, obj)    => obj
- *  
+ *
  *  Sets the class variable names by <i>symbol</i> to
  *  <i>object</i>.
- *     
+ *
  *     class Fred
  *       @@foo = 99
  *       def foo
@@ -2004,7 +2004,7 @@
 		     NIL_P(val) ? "nil" :
 		     val == Qtrue ? "true" :
 		     val == Qfalse ? "false" :
-		     rb_obj_classname(val), 
+		     rb_obj_classname(val),
 		     tname);
 	}
 	else {
@@ -2118,7 +2118,7 @@
 /*
  *  call-seq:
  *     Integer(arg)    => integer
- *  
+ *
  *  Converts <i>arg</i> to a <code>Fixnum</code> or <code>Bignum</code>.
  *  Numeric types are converted directly (with floating point numbers
  *  being truncated). If <i>arg</i> is a <code>String</code>, leading
@@ -2126,7 +2126,7 @@
  *  <code>0x</code>) are honored. Others are converted using
  *  <code>to_int</code> and <code>to_i</code>. This behavior is
  *  different from that of <code>String#to_i</code>.
- *     
+ *
  *     Integer(123.999)    #=> 123
  *     Integer("0x1a")     #=> 26
  *     Integer(Time.new)   #=> 1204973019
@@ -2261,11 +2261,11 @@
 /*
  *  call-seq:
  *     Float(arg)    => float
- *  
+ *
  *  Returns <i>arg</i> converted to a float. Numeric types are converted
  *  directly, the rest are converted using <i>arg</i>.to_f. As of Ruby
  *  1.8, converting <code>nil</code> generates a <code>TypeError</code>.
- *     
+ *
  *     Float(1)           #=> 1.0
  *     Float("123.456")   #=> 123.456
  */
@@ -2322,10 +2322,10 @@
 /*
  *  call-seq:
  *     String(arg)   => string
- *  
+ *
  *  Converts <i>arg</i> to a <code>String</code> by calling its
  *  <code>to_s</code> method.
- *     
+ *
  *     String(self)        #=> "main"
  *     String(self.class)  #=> "Object"
  *     String(123456)      #=> "123456"
@@ -2354,10 +2354,10 @@
 /*
  *  call-seq:
  *     Array(arg)    => array
- *  
+ *
  *  Returns <i>arg</i> as an <code>Array</code>. First tries to call
  *  <i>arg</i><code>.to_ary</code>, then <i>arg</i><code>.to_a</code>.
- *     
+ *
  *     Array(1..5)   #=> [1, 2, 3, 4, 5]
  */
 
@@ -2391,7 +2391,7 @@
  *
  *  Classes in Ruby are first-class objects---each is an instance of
  *  class <code>Class</code>.
- *     
+ *
  *  When a new class is created (typically using <code>class Name ...
  *  end</code>), an object of type <code>Class</code> is created and
  *  assigned to a global constant (<code>Name</code> in this case). When
@@ -2399,7 +2399,7 @@
  *  <code>new</code> method in <code>Class</code> is run by default.
  *  This can be demonstrated by overriding <code>new</code> in
  *  <code>Class</code>:
- *     
+ *
  *     class Class
  *        alias oldNew  new
  *        def new(*args)
@@ -2407,21 +2407,21 @@
  *          oldNew(*args)
  *        end
  *      end
- *     
- *     
+ *
+ *
  *      class Name
  *      end
- *     
- *     
+ *
+ *
  *      n = Name.new
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     Creating a new Name
- *     
+ *
  *  Classes, modules, and objects are interrelated. In the diagram
  *  that follows, the vertical arrows represent inheritance, and the
- *  parentheses meta-classes. All metaclasses are instances 
+ *  parentheses meta-classes. All metaclasses are instances
  *  of the class `Class'.
  *
  *                             +-----------------+
@@ -2453,13 +2453,13 @@
  *  class hierarchy is a direct subclass of <code>BasicObject</code>.  Its
  *  methods are therefore available to all objects unless explicitly
  *  overridden.
- *     
+ *
  *  <code>Object</code> mixes in the <code>Kernel</code> module, making
  *  the built-in kernel functions globally accessible. Although the
  *  instance methods of <code>Object</code> are defined by the
  *  <code>Kernel</code> module, we have chosen to document them here for
  *  clarity.
- *     
+ *
  *  In the descriptions of Object's methods, the parameter <i>symbol</i> refers
  *  to a symbol, which is either a quoted string or a
  *  <code>Symbol</code> (such as <code>:name</code>).
@@ -2509,7 +2509,7 @@
     rb_define_private_method(rb_cModule, "method_undefined", rb_obj_dummy, 1);
 
     rb_define_method(rb_mKernel, "nil?", rb_false, 0);
-    rb_define_method(rb_mKernel, "===", rb_equal, 1); 
+    rb_define_method(rb_mKernel, "===", rb_equal, 1);
     rb_define_method(rb_mKernel, "=~", rb_obj_match, 1);
     rb_define_method(rb_mKernel, "!~", rb_obj_not_match, 1);
     rb_define_method(rb_mKernel, "eql?", rb_obj_equal, 1);
@@ -2595,24 +2595,24 @@
     rb_define_alloc_func(rb_cModule, rb_module_s_alloc);
     rb_define_method(rb_cModule, "initialize", rb_mod_initialize, 0);
     rb_define_method(rb_cModule, "instance_methods", rb_class_instance_methods, -1); /* in class.c */
-    rb_define_method(rb_cModule, "public_instance_methods", 
+    rb_define_method(rb_cModule, "public_instance_methods",
 		     rb_class_public_instance_methods, -1);    /* in class.c */
-    rb_define_method(rb_cModule, "protected_instance_methods", 
+    rb_define_method(rb_cModule, "protected_instance_methods",
 		     rb_class_protected_instance_methods, -1); /* in class.c */
-    rb_define_method(rb_cModule, "private_instance_methods", 
+    rb_define_method(rb_cModule, "private_instance_methods",
 		     rb_class_private_instance_methods, -1);   /* in class.c */
 
     rb_define_method(rb_cModule, "constants", rb_mod_constants, -1); /* in variable.c */
     rb_define_method(rb_cModule, "const_get", rb_mod_const_get, -1);
     rb_define_method(rb_cModule, "const_set", rb_mod_const_set, 2);
     rb_define_method(rb_cModule, "const_defined?", rb_mod_const_defined, -1);
-    rb_define_private_method(rb_cModule, "remove_const", 
+    rb_define_private_method(rb_cModule, "remove_const",
 			     rb_mod_remove_const, 1); /* in variable.c */
-    rb_define_method(rb_cModule, "const_missing", 
+    rb_define_method(rb_cModule, "const_missing",
 		     rb_mod_const_missing, 1); /* in variable.c */
-    rb_define_method(rb_cModule, "class_variables", 
+    rb_define_method(rb_cModule, "class_variables",
 		     rb_mod_class_variables, 0); /* in variable.c */
-    rb_define_method(rb_cModule, "remove_class_variable", 
+    rb_define_method(rb_cModule, "remove_class_variable",
 		     rb_mod_remove_cvar, 1); /* in variable.c */
     rb_define_method(rb_cModule, "class_variable_get", rb_mod_cvar_get, 1);
     rb_define_method(rb_cModule, "class_variable_set", rb_mod_cvar_set, 2);
Index: io.c
===================================================================
--- io.c	(revision 22551)
+++ io.c	(revision 22552)
@@ -2718,7 +2718,7 @@
  *  Returns an enumerator that gives each byte (0..255) in <em>ios</em>.
  *  The stream must be opened for reading or an <code>IOError</code>
  *  will be raised.
- *     
+ *
  *     f = File.new("testfile")
  *     f.bytes.to_a  #=> [104, 101, 108, 108, 111]
  *     f.rewind
@@ -2734,11 +2734,11 @@
 /*
  *  call-seq:
  *     ios.chars   => anEnumerator
- *  
+ *
  *  Returns an enumerator that gives each character in <em>ios</em>.
  *  The stream must be opened for reading or an <code>IOError</code>
  *  will be raised.
- *     
+ *
  *     f = File.new("testfile")
  *     f.chars.to_a  #=> ["h", "e", "l", "l", "o"]
  *     f.rewind
@@ -4950,7 +4950,7 @@
 	}
     }
 #endif
- 
+
     rb_io_extract_modeenc(&vmode, &vperm, opt, &oflags, &fmode, convconfig_p);
 
     perm = NIL_P(vperm) ? 0666 :  NUM2UINT(vperm);
@@ -5909,7 +5909,7 @@
  *  <code>IO</code> object or integer file descriptor and mode
  *  string. See also <code>IO#fileno</code> and
  *  <code>IO.for_fd</code>.
- *  
+ *
  *  === Parameters
  *  fd:: numeric file descriptor
  *  mode:: file mode. a string or an integer
@@ -5919,12 +5919,12 @@
  *  When <code>mode</code> is an integer it must be combination of
  *  the modes defined in <code>File::Constants</code>.
  *
- *  When <code>mode</code> is a string it must be in one of the 
+ *  When <code>mode</code> is a string it must be in one of the
  *  following forms:
  *  - "fmode",
  *  - "fmode:extern",
  *  - "fmode:extern:intern".
- *  <code>extern</code> is the external encoding name for the IO. 
+ *  <code>extern</code> is the external encoding name for the IO.
  *  <code>intern</code> is the internal encoding.
  *  <code>fmode</code> must be combination of the directives. See
  *  the description of class +IO+ for a description of the directives.
@@ -5933,20 +5933,20 @@
  *  <code>opt</code> can have the following keys
  *  :mode ::
  *    same as <code>mode</code> parameter
- *  :external_encoding :: 
- *    external encoding for the IO. "-" is a 
+ *  :external_encoding ::
+ *    external encoding for the IO. "-" is a
  *    synonym for the default external encoding.
  *  :internal_encoding ::
- *    internal encoding for the IO. 
+ *    internal encoding for the IO.
  *    "-" is a synonym for the default internal encoding.
- *    If the value is nil no conversion occurs. 
- *  :encoding :: 
+ *    If the value is nil no conversion occurs.
+ *  :encoding ::
  *    specifies external and internal encodings as "extern:intern".
  *  :textmode ::
  *    If the value is truth value, same as "b" in argument <code>mode</code>.
  *  :binmode ::
  *    If the value is truth value, same as "t" in argument <code>mode</code>.
- *  
+ *
  *  Also <code>opt</code> can have same keys in <code>String#encode</code> for
  *  controlling conversion between the external encoding and the internal encoding.
  *
@@ -5968,7 +5968,7 @@
  *     io = IO.new(2, mode: 'w', cr_newline: true, external_encoding: Encoding::UTF_16LE)
  *     io.puts "Hello, World!"
  *
- *  both of aboves print "Hello, World!" in UTF-16LE to standard error output with 
+ *  both of aboves print "Hello, World!" in UTF-16LE to standard error output with
  *  converting EOL generated by <code>puts</code> to CR.
  */
 
@@ -6021,16 +6021,16 @@
  *
  *  Opens the file named by _filename_ according to
  *  _mode_ (default is ``r'') and returns a new
- *  <code>File</code> object. 
- * 
+ *  <code>File</code> object.
+ *
  *  === Parameters
- *  See the description of class +IO+ for a description of _mode_. 
- *  The file mode may optionally be specified as a +Fixnum+ 
- *  by _or_-ing together the flags (O_RDONLY etc, 
- *  again described under +IO+). 
+ *  See the description of class +IO+ for a description of _mode_.
+ *  The file mode may optionally be specified as a +Fixnum+
+ *  by _or_-ing together the flags (O_RDONLY etc,
+ *  again described under +IO+).
  *
- *  Optional permission bits may be given in _perm_. 
- *  These mode and permission bits are platform dependent; 
+ *  Optional permission bits may be given in _perm_.
+ *  These mode and permission bits are platform dependent;
  *  on Unix systems, see <code>open(2)</code> for details.
  *
  *  Optional _opt_ parameter is same as in <code.IO.open</code>.
@@ -6285,9 +6285,9 @@
 		    if (st.st_uid!=st2.st_uid || st.st_gid!=st2.st_gid) {
 #ifdef HAVE_FCHOWN
 			(void)fchown(fw, st.st_uid, st.st_gid);
-#else			
+#else
 			(void)chown(fn, st.st_uid, st.st_gid);
-#endif			
+#endif
 		    }
 #endif
 		    rb_stdout = prep_io(fw, FMODE_WRITABLE, rb_cFile, fn);
Index: load.c
===================================================================
--- load.c	(revision 22551)
+++ load.c	(revision 22552)
@@ -341,7 +341,7 @@
 /*
  *  call-seq:
  *     load(filename, wrap=false)   => true
- *  
+ *
  *  Loads and executes the Ruby
  *  program in the file _filename_. If the filename does not
  *  resolve to an absolute path, the file is searched for in the library
@@ -406,7 +406,7 @@
 /*
  *  call-seq:
  *     require(string)    => true or false
- *  
+ *
  *  Ruby tries to load the library named _string_, returning
  *  +true+ if successful. If the filename does not resolve to
  *  an absolute path, it will be searched for in the directories listed
@@ -420,7 +420,7 @@
  *  appears in <code>$"</code>. However, the file name is not converted
  *  to an absolute path, so that ``<code>require 'a';require
  *  './a'</code>'' will load <code>a.rb</code> twice.
- *     
+ *
  *     require "my-library.rb"
  *     require "db-driver"
  */
@@ -638,11 +638,11 @@
 /*
  *  call-seq:
  *     mod.autoload(name, filename)   => nil
- *  
+ *
  *  Registers _filename_ to be loaded (using <code>Kernel::require</code>)
  *  the first time that _module_ (which may be a <code>String</code> or
  *  a symbol) is accessed in the namespace of _mod_.
- *     
+ *
  *     module A
  *     end
  *     A.autoload(:B, "b")
@@ -672,11 +672,11 @@
 /*
  *  call-seq:
  *     autoload(module, filename)   => nil
- *  
+ *
  *  Registers _filename_ to be loaded (using <code>Kernel::require</code>)
  *  the first time that _module_ (which may be a <code>String</code> or
  *  a symbol) is accessed.
- *     
+ *
  *     autoload(:MyModule, "/usr/local/lib/modules/my_module.rb")
  */
 
Index: compile.c
===================================================================
--- compile.c	(revision 22551)
+++ compile.c	(revision 22552)
@@ -3962,7 +3962,6 @@
 	    VALUE label;
 	    VALUE label_sym;
 
-	    
 	    CONST_ID(goto_id, "__goto__");
 	    CONST_ID(label_id, "__label__");
 
Index: vm_eval.c
===================================================================
--- vm_eval.c	(revision 22551)
+++ vm_eval.c	(revision 22552)
@@ -215,7 +215,6 @@
 	return method_missing(recv, mid, argc, argv,
 			      scope == 2 ? NOEX_VCALL : 0);
     }
-    
 
     if (mid != idMethodMissing) {
 	/* receiver specified form for private method */
@@ -227,7 +226,7 @@
 	    /* self must be kind of a specified form for protected method */
 	    if (((noex & NOEX_MASK) & NOEX_PROTECTED) && scope == 0) {
 		VALUE defined_class = klass;
-		
+
 		if (TYPE(defined_class) == T_ICLASS) {
 		    defined_class = RBASIC(defined_class)->klass;
 		}
Index: range.c
===================================================================
--- range.c	(revision 22551)
+++ range.c	(revision 22552)
@@ -44,7 +44,7 @@
 
     args[0] = beg;
     args[1] = end;
-    
+
     if (!FIXNUM_P(beg) || !FIXNUM_P(end)) {
 	VALUE v;
 
@@ -70,7 +70,7 @@
 /*
  *  call-seq:
  *     Range.new(start, end, exclusive=false)    => range
- *  
+ *
  *  Constructs a range using the given <i>start</i> and <i>end</i>. If the third
  *  parameter is omitted or is <code>false</code>, the <i>range</i> will include
  *  the end object; otherwise, it will be excluded.
@@ -80,7 +80,7 @@
 range_initialize(int argc, VALUE *argv, VALUE range)
 {
     VALUE beg, end, flags;
-    
+
     rb_scan_args(argc, argv, "21", &beg, &end, &flags);
     /* Ranges are immutable, so that they should be initialized only once. */
     if (RANGE_EXCL(range) != Qnil) {
@@ -95,7 +95,7 @@
 /*
  *  call-seq:
  *     rng.exclude_end?    => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>rng</i> excludes its end value.
  */
 
@@ -109,15 +109,15 @@
 /*
  *  call-seq:
  *     rng == obj    => true or false
- *  
+ *
  *  Returns <code>true</code> only if <i>obj</i> is a Range, has equivalent
  *  beginning and end items (by comparing them with <code>==</code>), and has
  *  the same #exclude_end? setting as <i>rng</t>.
- *     
+ *
  *    (0..2) == (0..2)            #=> true
  *    (0..2) == Range.new(0,2)    #=> true
  *    (0..2) == (0...2)           #=> false
- *     
+ *
  */
 
 static VALUE
@@ -171,15 +171,15 @@
 /*
  *  call-seq:
  *     rng.eql?(obj)    => true or false
- *  
+ *
  *  Returns <code>true</code> only if <i>obj</i> is a Range, has equivalent
  *  beginning and end items (by comparing them with #eql?), and has the same
  *  #exclude_end? setting as <i>rng</i>.
- *     
+ *
  *    (0..2) == (0..2)            #=> true
  *    (0..2) == Range.new(0,2)    #=> true
  *    (0..2) == (0...2)           #=> false
- *     
+ *
  */
 
 static VALUE
@@ -274,19 +274,19 @@
 /*
  *  call-seq:
  *     rng.step(n=1) {| obj | block }    => rng
- *  
+ *
  *  Iterates over <i>rng</i>, passing each <i>n</i>th element to the block. If
  *  the range contains numbers, <i>n</i> is added for each iteration.  Otherwise
  *  <code>step</code> invokes <code>succ</code> to iterate through range
  *  elements. The following code uses class <code>Xs</code>, which is defined
  *  in the class-level documentation.
- *     
+ *
  *     range = Xs.new(1)..Xs.new(10)
  *     range.step(2) {|x| puts x}
  *     range.step(3) {|x| puts x}
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *      1 x
  *      3 xxx
  *      5 xxxxx
@@ -330,7 +330,7 @@
 
 	if (!EXCL(range))
 	    end += 1;
-	i = FIX2LONG(b);	
+	i = FIX2LONG(b);
 	while (i < end) {
 	    rb_yield(LONG2NUM(i));
 	    if (i + unit < i) break;
@@ -392,18 +392,18 @@
 /*
  *  call-seq:
  *     rng.each {| i | block } => rng
- *  
+ *
  *  Iterates over the elements <i>rng</i>, passing each in turn to the
  *  block. You can only iterate if the start object of the range
  *  supports the +succ+ method (which means that you can't iterate over
  *  ranges of +Float+ objects).
- *     
+ *
  *     (10..15).each do |n|
  *        print n, ' '
  *     end
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     10 11 12 13 14 15
  */
 
@@ -447,7 +447,7 @@
 /*
  *  call-seq:
  *     rng.begin    => obj
- *  
+ *
  *  Returns the first object in <i>rng</i>.
  */
 
@@ -461,9 +461,9 @@
 /*
  *  call-seq:
  *     rng.end    => obj
- *  
+ *
  *  Returns the object that defines the end of <i>rng</i>.
- *     
+ *
  *     (1..10).end    #=> 10
  *     (1...10).end   #=> 10
  */
@@ -494,7 +494,7 @@
  *  call-seq:
  *     rng.first    => obj
  *     rng.first(n) => an_array
- *  
+ *
  *  Returns the first object in <i>rng</i>, or the first +n+ elements.
  */
 
@@ -518,7 +518,7 @@
  *  call-seq:
  *     rng.last    => obj
  *     rng.last(n) => an_array
- *  
+ *
  *  Returns the last object in <i>rng</i>, or the last +n+ elements.
  */
 
@@ -528,7 +528,7 @@
     VALUE rb_ary_last(int, VALUE *, VALUE);
 
     if (argc == 0) return RANGE_END(range);
-    return rb_ary_last(argc, argv, rb_Array(range)); 
+    return rb_ary_last(argc, argv, rb_Array(range));
 }
 
 
@@ -536,11 +536,11 @@
  *  call-seq:
  *     rng.min                    => obj
  *     rng.min {| a,b | block }   => obj
- *  
+ *
  *  Returns the minimum value in <i>rng</i>. The second uses
  *  the block to compare values.  Returns nil if the first
  *  value in range is larger than the last value.
- *     
+ *
  */
 
 
@@ -565,11 +565,11 @@
  *  call-seq:
  *     rng.max                    => obj
  *     rng.max {| a,b | block }   => obj
- *  
+ *
  *  Returns the maximum value in <i>rng</i>. The second uses
  *  the block to compare values.  Returns nil if the first
  *  value in range is larger than the last value.
- *     
+ *
  */
 
 static VALUE
@@ -698,7 +698,7 @@
  * call-seq:
  *   rng.inspect  => string
  *
- * Convert this range object to a printable form (using 
+ * Convert this range object to a printable form (using
  * <code>inspect</code> to convert the start and end
  * objects).
  */
@@ -713,20 +713,20 @@
 /*
  *  call-seq:
  *     rng === obj       =>  true or false
- *  
+ *
  *  Returns <code>true</code> if <i>obj</i> is an element of
  *  <i>rng</i>, <code>false</code> otherwise. Conveniently,
  *  <code>===</code> is the comparison operator used by
  *  <code>case</code> statements.
- *     
+ *
  *     case 79
  *     when 1..50   then   print "low\n"
  *     when 51..75  then   print "medium\n"
  *     when 76..100 then   print "high\n"
  *     end
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     high
  */
 
@@ -741,11 +741,11 @@
  *  call-seq:
  *     rng.member?(val)  =>  true or false
  *     rng.include?(val) =>  true or false
- *  
+ *
  *  Returns <code>true</code> if <i>obj</i> is an element of
  *  <i>rng</i>, <code>false</code> otherwise.  If beg and end are
  *  numeric, comparison is done according magnitude of values.
- *     
+ *
  *     ("a".."z").include?("g")  # => true
  *     ("a".."z").include?("A")  # => false
  */
@@ -801,11 +801,11 @@
 /*
  *  call-seq:
  *     rng.cover?(val)  =>  true or false
- *  
+ *
  *  Returns <code>true</code> if <i>obj</i> is between beg and end,
  *  i.e <code>beg <= obj <= end</code> (or <i>end</i> exclusive when
  *  <code>exclude_end?</code> is true).
- *     
+ *
  *     ("a".."z").cover?("c")    #=> true
  *     ("a".."z").cover?("5")    #=> false
  */
@@ -874,17 +874,17 @@
  *  run from the start to the end inclusively. Those created using
  *  <code>...</code> exclude the end value. When used as an iterator,
  *  ranges return each value in the sequence.
- *     
+ *
  *     (-1..-5).to_a      #=> []
  *     (-5..-1).to_a      #=> [-5, -4, -3, -2, -1]
  *     ('a'..'e').to_a    #=> ["a", "b", "c", "d", "e"]
  *     ('a'...'e').to_a   #=> ["a", "b", "c", "d"]
- *     
+ *
  *  Ranges can be constructed using objects of any type, as long as the
  *  objects can be compared using their <code><=></code> operator and
  *  they support the <code>succ</code> method to return the next object
  *  in sequence.
- *     
+ *
  *     class Xs                # represent a string of 'x's
  *       include Comparable
  *       attr :length
@@ -904,18 +904,18 @@
  *         'x' * @length
  *       end
  *     end
- *     
+ *
  *     r = Xs.new(3)..Xs.new(6)   #=> xxx..xxxxxx
  *     r.to_a                     #=> [xxx, xxxx, xxxxx, xxxxxx]
  *     r.member?(Xs.new(5))       #=> true
- *     
+ *
  *  In the previous code example, class <code>Xs</code> includes the
  *  <code>Comparable</code> module. This is because
  *  <code>Enumerable#member?</code> checks for equality using
  *  <code>==</code>. Including <code>Comparable</code> ensures that the
  *  <code>==</code> method is defined in terms of the <code><=></code>
  *  method implemented in <code>Xs</code>.
- *     
+ *
  */
 
 void
Index: proc.c
===================================================================
--- proc.c	(revision 22551)
+++ proc.c	(revision 22552)
@@ -294,12 +294,12 @@
 /*
  *  call-seq:
  *     binding -> a_binding
- *  
+ *
  *  Returns a +Binding+ object, describing the variable and
  *  method bindings at the point of call. This object can be used when
  *  calling +eval+ to execute the evaluated command in this
  *  environment. Also see the description of class +Binding+.
- *     
+ *
  *     def getBinding(param)
  *       return binding
  *     end
@@ -397,12 +397,12 @@
  *  call-seq:
  *     Proc.new {|...| block } => a_proc
  *     Proc.new                => a_proc
- *  
+ *
  *  Creates a new <code>Proc</code> object, bound to the current
  *  context. <code>Proc::new</code> may be called without a block only
  *  within a method with an attached block, in which case that block is
  *  converted to the <code>Proc</code> object.
- *     
+ *
  *     def proc_from
  *       Proc.new
  *     end
@@ -466,7 +466,7 @@
  *     prc.call(params,...)   => obj
  *     prc[params,...]        => obj
  *     prc.(params,...)       => obj
- *  
+ *
  *  Invokes the block, setting the block's parameters to the values in
  *  <i>params</i> using something close to method calling semantics.
  *  Generates a warning if multiple values are passed to a proc that
@@ -481,15 +481,15 @@
  *
  *  Returns the value of the last expression evaluated in the block. See
  *  also <code>Proc#yield</code>.
- *     
+ *
  *     a_proc = Proc.new {|a, *b| b.collect {|i| i*a }}
  *     a_proc.call(9, 1, 2, 3)   #=> [9, 18, 27]
  *     a_proc[9, 1, 2, 3]        #=> [9, 18, 27]
  *     a_proc = Proc.new {|a,b| a}
  *     a_proc.call(1,2,3)
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     prog.rb:5: wrong number of arguments (3 for 2) (ArgumentError)
  *     	from prog.rb:4:in `call'
  *     	from prog.rb:5
@@ -498,7 +498,7 @@
 /*
  *  call-seq:
  *     prc === obj   => obj
- *  
+ *
  *  Invokes the block, with <i>obj</i> as the block's parameter.  It is
  *  to allow a proc object to be a target of when clause in the case statement.
  */
@@ -555,14 +555,14 @@
 /*
  *  call-seq:
  *     prc.arity -> fixnum
- *  
+ *
  *  Returns the number of arguments that would not be ignored. If the block
  *  is declared to take no arguments, returns 0. If the block is known
  *  to take exactly n arguments, returns n. If the block has optional
  *  arguments, return -n-1, where n is the number of mandatory
  *  arguments. A <code>proc</code> with no argument declarations
  *  is the same a block declaring <code>||</code> as its arguments.
- *     
+ *
  *     Proc.new {}.arity          #=>  0
  *     Proc.new {||}.arity        #=>  0
  *     Proc.new {|a|}.arity       #=>  1
@@ -761,14 +761,14 @@
     const char *cname = rb_obj_classname(self);
     rb_iseq_t *iseq;
     const char *is_lambda;
-    
+
     GetProcPtr(self, proc);
     iseq = proc->block.iseq;
     is_lambda = proc->is_lambda ? " (lambda)" : "";
 
     if (RUBY_VM_NORMAL_ISEQ_P(iseq)) {
 	int line_no = 0;
-	
+
 	if (iseq->insn_info_table) {
 	    line_no = rb_iseq_first_lineno(iseq);
 	}
@@ -790,7 +790,7 @@
 /*
  *  call-seq:
  *     prc.to_proc -> prc
- *  
+ *
  *  Part of the protocol for converting objects to <code>Proc</code>
  *  objects. Instances of class <code>Proc</code> simply return
  *  themselves.
@@ -883,7 +883,7 @@
  *  associated with an iterator. They may also be unbound from one
  *  object (creating an <code>UnboundMethod</code>) and bound to
  *  another.
- *     
+ *
  *     class Thing
  *       def square(n)
  *         n*n
@@ -891,10 +891,10 @@
  *     end
  *     thing = Thing.new
  *     meth  = thing.method(:square)
- *     
+ *
  *     meth.call(9)                 #=> 81
  *     [ 1, 2, 3 ].collect(&meth)   #=> [1, 4, 9]
- *     
+ *
  */
 
 /*
@@ -952,7 +952,7 @@
 /*
  *  call-seq:
  *     meth.unbind    => unbound_method
- *  
+ *
  *  Dissociates <i>meth</i> from it's current receiver. The resulting
  *  <code>UnboundMethod</code> can subsequently be bound to a new object
  *  of the same class (see <code>UnboundMethod</code>).
@@ -981,7 +981,7 @@
 /*
  *  call-seq:
  *     meth.receiver    => object
- *  
+ *
  *  Returns the bound receiver of the method object.
  */
 
@@ -997,7 +997,7 @@
 /*
  *  call-seq:
  *     meth.name    => symbol
- *  
+ *
  *  Returns the name of the method.
  */
 
@@ -1013,7 +1013,7 @@
 /*
  *  call-seq:
  *     meth.owner    => class_or_module
- *  
+ *
  *  Returns the class or module that defines the method.
  */
 
@@ -1029,13 +1029,13 @@
 /*
  *  call-seq:
  *     obj.method(sym)    => method
- *  
+ *
  *  Looks up the named method as a receiver in <i>obj</i>, returning a
  *  <code>Method</code> object (or raising <code>NameError</code>). The
  *  <code>Method</code> object acts as a closure in <i>obj</i>'s object
  *  instance, so instance variables and the value of <code>self</code>
  *  remain available.
- *     
+ *
  *     class Demo
  *       def initialize(n)
  *         @iv = n
@@ -1044,11 +1044,11 @@
  *         "Hello, @iv = #{@iv}"
  *       end
  *     end
- *     
+ *
  *     k = Demo.new(99)
  *     m = k.method(:hello)
  *     m.call   #=> "Hello, @iv = 99"
- *     
+ *
  *     l = Demo.new('Fred')
  *     m = l.method("hello")
  *     m.call   #=> "Hello, @iv = Fred"
@@ -1069,10 +1069,10 @@
 /*
  *  call-seq:
  *     mod.instance_method(symbol)   => unbound_method
- *  
+ *
  *  Returns an +UnboundMethod+ representing the given
  *  instance method in _mod_.
- *     
+ *
  *     class Interpreter
  *       def do_a() print "there, "; end
  *       def do_d() print "Hello ";  end
@@ -1088,13 +1088,13 @@
  *         string.each_byte {|b| Dispatcher[b].bind(self).call }
  *       end
  *     end
- *     
- *     
+ *
+ *
  *     interpreter = Interpreter.new
  *     interpreter.interpret('dave')
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     Hello there, Dave!
  */
 
@@ -1114,14 +1114,14 @@
  *  call-seq:
  *     define_method(symbol, method)     => new_method
  *     define_method(symbol) { block }   => proc
- *  
+ *
  *  Defines an instance method in the receiver. The _method_
  *  parameter can be a +Proc+ or +Method+ object.
  *  If a block is specified, it is used as the method body. This block
  *  is evaluated using <code>instance_eval</code>, a point that is
  *  tricky to demonstrate because <code>define_method</code> is private.
  *  (This is why we resort to the +send+ hack in this example.)
- *     
+ *
  *     class A
  *       def fred
  *         puts "In Fred"
@@ -1139,9 +1139,9 @@
  *     a.wilma
  *     a.create_method(:betty) { p self }
  *     a.betty
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     In Fred
  *     Charge it!
  *     #<B:0x401b39e8>
@@ -1242,10 +1242,10 @@
  *  call-seq:
  *     meth.call(args, ...)    => obj
  *     meth[args, ...]         => obj
- *  
+ *
  *  Invokes the <i>meth</i> with the specified arguments, returning the
  *  method's return value.
- *     
+ *
  *     m = 12.method("+")
  *     m.call(3)    #=> 15
  *     m.call(20)   #=> 32
@@ -1296,17 +1296,17 @@
  *  with a particular object: these method objects are bound to that
  *  object. Bound method objects for an object can be created using
  *  <code>Object#method</code>.
- *     
+ *
  *  Ruby also supports unbound methods; methods objects that are not
  *  associated with a particular object. These can be created either by
  *  calling <code>Module#instance_method</code> or by calling
  *  <code>unbind</code> on a bound method object. The result of both of
  *  these is an <code>UnboundMethod</code> object.
- *     
+ *
  *  Unbound methods can only be called after they are bound to an
  *  object. That object must be be a kind_of? the method's original
  *  class.
- *     
+ *
  *     class Square
  *       def area
  *         @side * @side
@@ -1315,17 +1315,17 @@
  *         @side = side
  *       end
  *     end
- *     
+ *
  *     area_un = Square.instance_method(:area)
- *     
+ *
  *     s = Square.new(12)
  *     area = area_un.bind(s)
  *     area.call   #=> 144
- *     
+ *
  *  Unbound methods are a reference to the method at the time it was
  *  objectified: subsequent changes to the underlying class will not
  *  affect the unbound method.
- *     
+ *
  *     class Test
  *       def test
  *         :original
@@ -1340,17 +1340,17 @@
  *     t = Test.new
  *     t.test            #=> :modified
  *     um.bind(t).call   #=> :original
- *     
+ *
  */
 
 /*
  *  call-seq:
  *     umeth.bind(obj) -> method
- *  
+ *
  *  Bind <i>umeth</i> to <i>obj</i>. If <code>Klass</code> was the class
  *  from which <i>umeth</i> was obtained,
  *  <code>obj.kind_of?(Klass)</code> must be true.
- *     
+ *
  *     class A
  *       def test
  *         puts "In test, class = #{self.class}"
@@ -1360,8 +1360,8 @@
  *     end
  *     class C < B
  *     end
- *     
- *     
+ *
+ *
  *     um = B.instance_method(:test)
  *     bm = um.bind(C.new)
  *     bm.call
@@ -1369,9 +1369,9 @@
  *     bm.call
  *     bm = um.bind(A.new)
  *     bm.call
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     In test, class = C
  *     In test, class = B
  *     prog.rb:16:in `bind': bind argument must be an instance of B (TypeError)
@@ -1438,14 +1438,14 @@
 /*
  *  call-seq:
  *     meth.arity    => fixnum
- *  
+ *
  *  Returns an indication of the number of arguments accepted by a
  *  method. Returns a nonnegative integer for methods that take a fixed
  *  number of arguments. For Ruby methods that take a variable number of
  *  arguments, returns -n-1, where n is the number of required
  *  arguments. For methods written in C, returns -1 if the call takes a
  *  variable number of arguments.
- *     
+ *
  *     class C
  *       def one;    end
  *       def two(a); end
@@ -1461,7 +1461,7 @@
  *     c.method(:four).arity    #=> 2
  *     c.method(:five).arity    #=> -3
  *     c.method(:six).arity     #=> -3
- *     
+ *
  *     "cat".method(:size).arity      #=> 0
  *     "cat".method(:replace).arity   #=> 1
  *     "cat".method(:squeeze).arity   #=> -1
@@ -1643,7 +1643,7 @@
 /*
  *  call-seq:
  *     meth.to_proc    => prc
- *  
+ *
  *  Returns a <code>Proc</code> object corresponding to this method.
  */
 
@@ -1705,15 +1705,15 @@
 /*
  *  call-seq:
  *     prc.binding    => binding
- *  
+ *
  *  Returns the binding associated with <i>prc</i>. Note that
  *  <code>Kernel#eval</code> accepts either a <code>Proc</code> or a
  *  <code>Binding</code> object as its second parameter.
- *     
+ *
  *     def fred(param)
  *       proc {}
  *     end
- *     
+ *
  *     b = fred(99)
  *     eval("param", b.binding)   #=> 99
  */
@@ -1840,18 +1840,18 @@
  *  <code>Proc</code> objects are blocks of code that have been bound to
  *  a set of local variables. Once bound, the code may be called in
  *  different contexts and still access those variables.
- *     
+ *
  *     def gen_times(factor)
  *       return Proc.new {|n| n*factor }
  *     end
- *     
+ *
  *     times3 = gen_times(3)
  *     times5 = gen_times(5)
- *     
+ *
  *     times3.call(12)               #=> 36
  *     times5.call(5)                #=> 25
  *     times3.call(times5.call(4))   #=> 60
- *     
+ *
  */
 
 void
@@ -1951,11 +1951,11 @@
  *  are all retained. Binding objects can be created using
  *  <code>Kernel#binding</code>, and are made available to the callback
  *  of <code>Kernel#set_trace_func</code>.
- *     
+ *
  *  These binding objects can be passed as the second argument of the
  *  <code>Kernel#eval</code> method, establishing an environment for the
  *  evaluation.
- *     
+ *
  *     class Demo
  *       def initialize(n)
  *         @secret = n
@@ -1964,18 +1964,18 @@
  *         return binding()
  *       end
  *     end
- *     
+ *
  *     k1 = Demo.new(99)
  *     b1 = k1.getBinding
  *     k2 = Demo.new(-3)
  *     b2 = k2.getBinding
- *     
+ *
  *     eval("@secret", b1)   #=> 99
  *     eval("@secret", b2)   #=> -3
  *     eval("@secret")       #=> nil
- *     
+ *
  *  Binding objects have no class-specific methods.
- *     
+ *
  */
 
 void
Index: struct.c
===================================================================
--- struct.c	(revision 22551)
+++ struct.c	(revision 22552)
@@ -76,10 +76,10 @@
 /*
  *  call-seq:
  *     struct.members    => array
- *  
+ *
  *  Returns an array of strings representing the names of the instance
  *  variables.
- *     
+ *
  *     Customer = Struct.new(:name, :address, :zip)
  *     joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
  *     joe.members   #=> [:name, :address, :zip]
@@ -293,7 +293,7 @@
  *  <code>Struct</code>s in the system and should start with a capital
  *  letter. Assigning a structure class to a constant effectively gives
  *  the class the name of the constant.
- *     
+ *
  *  <code>Struct::new</code> returns a new <code>Class</code> object,
  *  which can then be used to create specific instances of the new
  *  structure. The number of actual parameters must be
@@ -302,12 +302,12 @@
  *  parameters will raise an \E{ArgumentError}.
  *
  *  The remaining methods listed in this section (class and instance)
- *  are defined for this generated class. 
- *     
+ *  are defined for this generated class.
+ *
  *     # Create a structure with a name in Struct
  *     Struct.new("Customer", :name, :address)    #=> Struct::Customer
  *     Struct::Customer.new("Dave", "123 Main")   #=> #<struct Struct::Customer name="Dave", address="123 Main">
- *     
+ *
  *     # Create a structure named by its constant
  *     Customer = Struct.new(:name, :address)     #=> Customer
  *     Customer.new("Dave", "123 Main")           #=> #<struct Customer name="Dave", address="123 Main">
@@ -426,16 +426,16 @@
 /*
  *  call-seq:
  *     struct.each {|obj| block }  => struct
- *  
+ *
  *  Calls <i>block</i> once for each instance variable, passing the
  *  value as a parameter.
- *     
+ *
  *     Customer = Struct.new(:name, :address, :zip)
  *     joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
  *     joe.each {|x| puts(x) }
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     Joe Smith
  *     123 Maple, Anytown NC
  *     12345
@@ -456,16 +456,16 @@
 /*
  *  call-seq:
  *     struct.each_pair {|sym, obj| block }     => struct
- *  
+ *
  *  Calls <i>block</i> once for each instance variable, passing the name
  *  (as a symbol) and the value as parameters.
- *     
+ *
  *     Customer = Struct.new(:name, :address, :zip)
  *     joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
  *     joe.each_pair {|name, value| puts("#{name} => #{value}") }
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     name => Joe Smith
  *     address => 123 Maple, Anytown NC
  *     zip => 12345
@@ -545,9 +545,9 @@
  *  call-seq:
  *     struct.to_a     => array
  *     struct.values   => array
- *  
+ *
  *  Returns the values for this instance as an array.
- *     
+ *
  *     Customer = Struct.new(:name, :address, :zip)
  *     joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
  *     joe.to_a[1]   #=> "123 Maple, Anytown NC"
@@ -596,17 +596,17 @@
 /*
  *  call-seq:
  *     struct[symbol]    => anObject
- *     struct[fixnum]    => anObject 
- *  
+ *     struct[fixnum]    => anObject
+ *
  *  Attribute Reference---Returns the value of the instance variable
  *  named by <i>symbol</i>, or indexed (0..length-1) by
  *  <i>fixnum</i>. Will raise <code>NameError</code> if the named
  *  variable does not exist, or <code>IndexError</code> if the index is
  *  out of range.
- *     
+ *
  *     Customer = Struct.new(:name, :address, :zip)
  *     joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
- *     
+ *
  *     joe["name"]   #=> "Joe Smith"
  *     joe[:name]    #=> "Joe Smith"
  *     joe[0]        #=> "Joe Smith"
@@ -658,19 +658,19 @@
  *  call-seq:
  *     struct[symbol] = obj    => obj
  *     struct[fixnum] = obj    => obj
- *  
+ *
  *  Attribute Assignment---Assigns to the instance variable named by
  *  <i>symbol</i> or <i>fixnum</i> the value <i>obj</i> and
  *  returns it. Will raise a <code>NameError</code> if the named
  *  variable does not exist, or an <code>IndexError</code> if the index
  *  is out of range.
- *     
+ *
  *     Customer = Struct.new(:name, :address, :zip)
  *     joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
- *     
+ *
  *     joe["name"] = "Luke"
  *     joe[:zip]   = "90210"
- *     
+ *
  *     joe.name   #=> "Luke"
  *     joe.zip    #=> "90210"
  */
@@ -704,15 +704,15 @@
     return rb_struct_aref(s, LONG2NUM(n));
 }
 
-/* 
+/*
  * call-seq:
  *   struct.values_at(selector,... )  => an_array
  *
  *   Returns an array containing the elements in
  *   _self_ corresponding to the given selector(s). The selectors
- *   may be either integer indices or ranges. 
+ *   may be either integer indices or ranges.
  *   See also </code>.select<code>.
- * 
+ *
  *      a = %w{ a b c d e f }
  *      a.values_at(1, 3, 5)
  *      a.values_at(1, 3, 5, 7)
@@ -729,12 +729,12 @@
 /*
  *  call-seq:
  *     struct.select {|i| block }    => array
- *  
+ *
  *  Invokes the block passing in successive elements from
  *  <i>struct</i>, returning an array containing those elements
  *  for which the block returns a true value (equivalent to
  *  <code>Enumerable#select</code>).
- *     
+ *
  *     Lots = Struct.new(:a, :b, :c, :d, :e, :f)
  *     l = Lots.new(11, 22, 33, 44, 55, 66)
  *     l.select {|v| (v % 2).zero? }   #=> [22, 44, 66]
@@ -762,12 +762,12 @@
 /*
  *  call-seq:
  *     struct == other_struct     => true or false
- *  
+ *
  *  Equality---Returns <code>true</code> if <i>other_struct</i> is
  *  equal to this one: they must be of the same class as generated by
  *  <code>Struct::new</code>, and the values of all instance variables
  *  must be equal (according to <code>Object#==</code>).
- *     
+ *
  *     Customer = Struct.new(:name, :address, :zip)
  *     joe   = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
  *     joejr = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
@@ -847,9 +847,9 @@
  *  call-seq:
  *     struct.length    => fixnum
  *     struct.size      => fixnum
- *  
+ *
  *  Returns the number of instance variables.
- *     
+ *
  *     Customer = Struct.new(:name, :address, :zip)
  *     joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
  *     joe.length   #=> 3
@@ -865,13 +865,13 @@
  *  A <code>Struct</code> is a convenient way to bundle a number of
  *  attributes together, using accessor methods, without having to write
  *  an explicit class.
- *     
+ *
  *  The <code>Struct</code> class is a generator of specific classes,
  *  each one of which is defined to hold a set of variables and their
  *  accessors. In these examples, we'll call the generated class
  *  ``<i>Customer</i>Class,'' and we'll show an example instance of that
  *  class as ``<i>Customer</i>Inst.''
- *     
+ *
  *  In the descriptions that follow, the parameter <i>symbol</i> refers
  *  to a symbol, which is either a quoted string or a
  *  <code>Symbol</code> (such as <code>:name</code>).
Index: sprintf.c
===================================================================
--- sprintf.c	(revision 22551)
+++ sprintf.c	(revision 22552)
@@ -31,7 +31,7 @@
 remove_sign_bits(char *str, int base)
 {
     char *s, *t;
-    
+
     s = t = str;
 
     if (base == 16) {
@@ -171,10 +171,10 @@
  *  call-seq:
  *     format(format_string [, arguments...] )   => string
  *     sprintf(format_string [, arguments...] )  => string
- *  
+ *
  *  Returns the string resulting from applying <i>format_string</i> to
  *  any additional arguments.  Within the format string, any characters
- *  other than format sequences are copied to the result. 
+ *  other than format sequences are copied to the result.
  *
  *  The syntax of a format sequence is follows.
  *
@@ -210,13 +210,13 @@
  *
  *      Field |  Float Format
  *      ------+--------------------------------------------------------------
- *        e   | Convert floating point argument into exponential notation 
+ *        e   | Convert floating point argument into exponential notation
  *            | with one digit before the decimal point as [-]d.dddddde[+-]dd.
  *            | The precision specifies the number of digits after the decimal
  *            | point (defaulting to six).
  *        E   | Equivalent to `e', but uses an uppercase E to indicate
  *            | the exponent.
- *        f   | Convert floating point argument as [-]ddd.dddddd, 
+ *        f   | Convert floating point argument as [-]ddd.dddddd,
  *            | where the precision specifies the number of digits after
  *            | the decimal point.
  *        g   | Convert a floating point number using exponential form
@@ -234,13 +234,13 @@
  *            | sequence contains a precision, at most that many characters
  *            | will be copied.
  *        %   | A percent sign itself will be displayed.  No argument taken.
- *     
+ *
  *  The flags modifies the behavior of the formats.
  *  The flag characters are:
  *
  *    Flag     | Applies to    | Meaning
  *    ---------+---------------+-----------------------------------------
- *    space    | bBdiouxX      | Leave a space at the start of 
+ *    space    | bBdiouxX      | Leave a space at the start of
  *             | eEfgG         | non-negative numbers.
  *             | (numeric fmt) | For `o', `x', `X', `b' and `B', use
  *             |               | a minus sign with absolute value for
@@ -276,9 +276,9 @@
  *             | (numeric fmt) | is used for negative numbers formatted as
  *             |               | complements.
  *    ---------+---------------+-----------------------------------------
- *    *        | all           | Use the next argument as the field width. 
+ *    *        | all           | Use the next argument as the field width.
  *             |               | If negative, left-justify the result. If the
- *             |               | asterisk is followed by a number and a dollar 
+ *             |               | asterisk is followed by a number and a dollar
  *             |               | sign, use the indicated argument as the width.
  *
  *  Examples of flags:
@@ -336,7 +336,7 @@
  *   sprintf("%#g", 123.4)  #=> "123.400"
  *   sprintf("%g", 123456)  #=> "123456"
  *   sprintf("%#g", 123456) #=> "123456."
- *     
+ *
  *  The field width is an optional integer, followed optionally by a
  *  period and a precision.  The width specifies the minimum number of
  *  characters that will be written to the result for this field.
@@ -389,7 +389,7 @@
  *   # precision for `e' is number of
  *   # digits after the decimal point           <------>
  *   sprintf("%20.8e", 1234.56789) #=> "      1.23456789e+03"
- *                                    
+ *
  *   # precision for `f' is number of
  *   # digits after the decimal point               <------>
  *   sprintf("%20.8f", 1234.56789) #=> "       1234.56789000"
Index: gc.c
===================================================================
--- gc.c	(revision 22551)
+++ gc.c	(revision 22552)
@@ -118,7 +118,7 @@
     ULARGE_INTEGER ui;
     LONG_LONG q;
     double t;
-    
+
     if (GetProcessTimes(GetCurrentProcess(),
 			&creation_time, &exit_time, &kernel_time, &user_time) == 0)
     {
@@ -863,7 +863,7 @@
     RVALUE *p, *pend, *membase;
     size_t hi, lo, mid;
     int objs;
-	
+
     objs = HEAP_OBJ_LIMIT;
     p = (RVALUE*)malloc(HEAP_SIZE);
 
@@ -962,7 +962,7 @@
 rb_newobj_from_heap(rb_objspace_t *objspace)
 {
     VALUE obj;
-	
+
     if ((ruby_gc_stress && !ruby_disable_gc_stress) || !freelist) {
     	if (!heaps_increment(objspace) && !garbage_collect(objspace)) {
 	    during_gc = 0;
@@ -1010,7 +1010,7 @@
     rb_objspace_t *objspace = &rb_objspace;
     return during_gc;
 }
- 
+
 VALUE
 rb_newobj(void)
 {
@@ -2761,7 +2761,7 @@
     VALUE gc_profile = rb_ary_new();
     size_t i;
     rb_objspace_t *objspace = (&rb_objspace);
-    
+
     if (!objspace->profile.run) {
 	return Qnil;
     }
@@ -2794,7 +2794,7 @@
  *     GC::Profiler.result -> string
  *
  *  Report profile data to string.
- *  
+ *
  *  It returns a string as:
  *   GC 1 invokes.
  *   Index    Invoke Time(sec)       Use Size(byte)     Total Size(byte)         Total Object                    GC time(ms)
@@ -2808,7 +2808,7 @@
     VALUE record;
     VALUE result;
     int i;
-    
+
     record = gc_profile_record_get();
     if (objspace->profile.run && objspace->profile.count) {
 	result = rb_sprintf("GC %d invokes.\n", NUM2INT(gc_count(0)));
@@ -2850,7 +2850,7 @@
  *     GC::Profiler.report
  *
  *  GC::Profiler.result display
- *  
+ *
  */
 
 static VALUE
Index: id.c
===================================================================
--- id.c	(revision 22551)
+++ id.c	(revision 22552)
@@ -1,6 +1,6 @@
 /**********************************************************************
 
-  id.c - 
+  id.c -
 
   $Author$
   created at: Thu Jul 12 04:37:51 2007
Index: strftime.c
===================================================================
--- strftime.c	(revision 22551)
+++ strftime.c	(revision 22552)
@@ -465,7 +465,7 @@
 		/*
 		 * From: Chip Rosenthal <chip@c...>
 		 * Date: Sun, 19 Mar 1995 00:33:29 -0600 (CST)
-		 * 
+		 *
 		 * Warning: the %z [code] is implemented by inspecting the
 		 * timezone name conditional compile settings, and
 		 * inferring a method to get timezone offsets. I've tried
Index: parse.y
===================================================================
--- parse.y	(revision 22551)
+++ parse.y	(revision 22552)
@@ -3498,7 +3498,7 @@
 			}
 			else {
 			    block_dup_check($1->nd_args, $2);
-			}    
+			}
 			$2->nd_iter = $1;
 			$$ = $2;
 			fixpos($$, $1);
Index: class.c
===================================================================
--- class.c	(revision 22551)
+++ class.c	(revision 22552)
@@ -82,7 +82,7 @@
 	NODE *fbody = body->nd_body->nd_body;
 
 	if (nd_type(fbody) == RUBY_VM_METHOD_NODE) {
-	    fbody = NEW_NODE(RUBY_VM_METHOD_NODE, 0, 
+	    fbody = NEW_NODE(RUBY_VM_METHOD_NODE, 0,
 			     rb_iseq_clone((VALUE)fbody->nd_body, data->klass),
 			     0);
 	}
@@ -198,7 +198,7 @@
     }
     else {
         metametaclass = rb_class_boot(Qnil);
-        RBASIC(metametaclass)->klass = 
+        RBASIC(metametaclass)->klass =
             (RBASIC(RBASIC(metaclass)->klass)->klass == RBASIC(metaclass)->klass)
             ? make_metametaclass(RBASIC(metaclass)->klass)
             : RBASIC(RBASIC(metaclass)->klass)->klass;
@@ -212,9 +212,9 @@
     while (FL_TEST(super_of_metaclass, T_ICLASS)) {
         super_of_metaclass = RCLASS_SUPER(super_of_metaclass);
     }
-    RCLASS_SUPER(metametaclass) = 
+    RCLASS_SUPER(metametaclass) =
         rb_iv_get(RBASIC(super_of_metaclass)->klass, "__attached__") == super_of_metaclass
-        ? RBASIC(super_of_metaclass)->klass 
+        ? RBASIC(super_of_metaclass)->klass
         : make_metametaclass(super_of_metaclass);
     OBJ_INFECT(metametaclass, RCLASS_SUPER(metametaclass));
 
@@ -422,7 +422,7 @@
     if (!OBJ_UNTRUSTED(klass)) {
 	rb_secure(4);
     }
-    
+
     if (TYPE(module) != T_MODULE) {
 	Check_Type(module, T_MODULE);
     }
@@ -461,16 +461,16 @@
 /*
  *  call-seq:
  *     mod.included_modules -> array
- *  
+ *
  *  Returns the list of modules included in <i>mod</i>.
- *     
+ *
  *     module Mixin
  *     end
- *     
+ *
  *     module Outer
  *       include Mixin
  *     end
- *     
+ *
  *     Mixin.included_modules   #=> []
  *     Outer.included_modules   #=> [Mixin]
  */
@@ -492,10 +492,10 @@
 /*
  *  call-seq:
  *     mod.include?(module)    => true or false
- *  
+ *
  *  Returns <code>true</code> if <i>module</i> is included in
  *  <i>mod</i> or one of <i>mod</i>'s ancestors.
- *     
+ *
  *     module A
  *     end
  *     class B
@@ -525,15 +525,15 @@
 /*
  *  call-seq:
  *     mod.ancestors -> array
- *  
+ *
  *  Returns a list of modules included in <i>mod</i> (including
  *  <i>mod</i> itself).
- *     
+ *
  *     module Mod
  *       include Math
  *       include Comparable
  *     end
- *     
+ *
  *     Mod.ancestors    #=> [Mod, Comparable, Math]
  *     Math.ancestors   #=> [Math]
  */
@@ -612,7 +612,7 @@
     if (key == ID_ALLOCATOR) {
 	return ST_CONTINUE;
     }
-    
+
     if (!st_lookup(list, key, 0)) {
 	if (body ==0 || !body->nd_body->nd_body) {
 	    type = -1; /* none */
@@ -658,14 +658,14 @@
 /*
  *  call-seq:
  *     mod.instance_methods(include_super=true)   => array
- *  
+ *
  *  Returns an array containing the names of instance methods that is callable
  *  from outside in the receiver. For a module, these are the public methods;
  *  for a class, they are the instance (not singleton) methods. With no
  *  argument, or with an argument that is <code>false</code>, the
  *  instance methods in <i>mod</i> are returned, otherwise the methods
  *  in <i>mod</i> and <i>mod</i>'s superclasses are returned.
- *     
+ *
  *     module A
  *       def method1()  end
  *     end
@@ -675,7 +675,7 @@
  *     class C < B
  *       def method3()  end
  *     end
- *     
+ *
  *     A.instance_methods                #=> [:method1]
  *     B.instance_methods(false)         #=> [:method2]
  *     C.instance_methods(false)         #=> [:method3]
@@ -691,7 +691,7 @@
 /*
  *  call-seq:
  *     mod.protected_instance_methods(include_super=true)   => array
- *  
+ *
  *  Returns a list of the protected instance methods defined in
  *  <i>mod</i>. If the optional parameter is not <code>false</code>, the
  *  methods of any ancestors are included.
@@ -706,11 +706,11 @@
 /*
  *  call-seq:
  *     mod.private_instance_methods(include_super=true)    => array
- *  
+ *
  *  Returns a list of the private instance methods defined in
  *  <i>mod</i>. If the optional parameter is not <code>false</code>, the
  *  methods of any ancestors are included.
- *     
+ *
  *     module Mod
  *       def method1()  end
  *       private :method1
@@ -729,7 +729,7 @@
 /*
  *  call-seq:
  *     mod.public_instance_methods(include_super=true)   => array
- *  
+ *
  *  Returns a list of the public instance methods defined in <i>mod</i>.
  *  If the optional parameter is not <code>false</code>, the methods of
  *  any ancestors are included.
@@ -744,30 +744,30 @@
 /*
  *  call-seq:
  *     obj.singleton_methods(all=true)    => array
- *  
+ *
  *  Returns an array of the names of singleton methods for <i>obj</i>.
  *  If the optional <i>all</i> parameter is true, the list will include
  *  methods in modules included in <i>obj</i>.
- *     
+ *
  *     module Other
  *       def three() end
  *     end
- *     
+ *
  *     class Single
  *       def Single.four() end
  *     end
- *     
+ *
  *     a = Single.new
- *     
+ *
  *     def a.one()
  *     end
- *     
+ *
  *     class << a
  *       include Other
  *       def two()
  *       end
  *     end
- *     
+ *
  *     Single.singleton_methods    #=> [:four]
  *     a.singleton_methods(false)  #=> [:two, :one]
  *     a.singleton_methods         #=> [:two, :one, :three]
@@ -932,7 +932,7 @@
 	postargc = *q - '0';
 	nonpostargc = argc - postargc;
     }
-    else { 
+    else {
 	postargc = 0;
 	nonpostargc = argc;
     }
@@ -941,7 +941,7 @@
 	if (nonpostargc < 0)
 	    rb_raise(rb_eArgError, "wrong number of arguments (%d for %d)",
 		     argc, postargc);
-	goto rest_arg;    
+	goto rest_arg;
     }
     else if (ISDIGIT(*p)) {
 	/* leading mandatory arguments */
Index: dln.c
===================================================================
--- dln.c	(revision 22551)
+++ dln.c	(revision 22552)
@@ -766,7 +766,7 @@
 		}
 	    } /* end.. look it up */
 	    else { /* is static */
-		switch (R_SYMBOL(rel)) { 
+		switch (R_SYMBOL(rel)) {
 		  case N_TEXT:
 		  case N_DATA:
 		    datum = block;
@@ -1158,7 +1158,7 @@
     char *message[8], errbuf[1024];
     int i,j;
 
-    struct errtab { 
+    struct errtab {
 	int errnum;
 	char *errstr;
     } load_errtab[] = {
@@ -1181,7 +1181,7 @@
 
     snprintf(errbuf, 1024, "load failed - %s ", pathname);
 
-    if (!loadquery(1, &message[0], sizeof(message))) 
+    if (!loadquery(1, &message[0], sizeof(message)))
 	ERRBUF_APPEND(strerror(errno));
     for(i = 0; message[i] && *message[i]; i++) {
 	int nerr = atoi(message[i]);
@@ -1189,7 +1189,7 @@
            if (nerr == load_errtab[i].errnum && load_errtab[i].errstr)
 		ERRBUF_APPEND(load_errtab[i].errstr);
 	}
-	while (isdigit(*message[i])) message[i]++; 
+	while (isdigit(*message[i])) message[i]++;
 	ERRBUF_APPEND(message[i]);
 	ERRBUF_APPEND("\n");
     }
@@ -1339,7 +1339,7 @@
 #define DLN_DEFINED
 /*----------------------------------------------------
    By SHIROYAMA Takayuki Psi@f...
- 
+
    Special Thanks...
     Yu tomoak-i@i...,
     Mi hisho@t...,
@@ -1354,9 +1354,9 @@
 	char *object_files[2] = {NULL, NULL};
 
 	void (*init_fct)();
-	
+
 	object_files[0] = (char*)file;
-	
+
 	s = NXOpenFile(2,NX_WRITEONLY);
 
 	/* Load object file, if return value ==0 ,  load failed*/
@@ -1403,7 +1403,7 @@
 	/* lookup the initial function */
 	if(!NSIsSymbolNameDefined(buf)) {
 	    rb_loaderror("Failed to lookup Init function %.200s",file);
-	}	
+	}
 	init_fct = NSAddressOfSymbol(NSLookupAndBindSymbol(buf));
 	(*init_fct)();
 
@@ -1425,7 +1425,7 @@
 	rb_loaderror("Failed to load add_on %.200s error_code=%x",
 	  file, img_id);
       }
-      
+
       /* find symbol for module initialize function. */
       /* The Be Book KernelKit Images section described to use
 	 B_SYMBOL_TYPE_TEXT for symbol of function, not
@@ -1608,7 +1608,7 @@
 
 	    if (*dp == '~' && (l == 1 ||
 #if defined(DOSISH)
-			       dp[1] == '\\' || 
+			       dp[1] == '\\' ||
 #endif
 			       dp[1] == '/')) {
 		char *home;
Index: util.c
===================================================================
--- util.c	(revision 22551)
+++ util.c	(revision 22552)
@@ -101,7 +101,7 @@
             *overflow = 1;
         ret *= base;
         x = ret;
-        ret += d; 
+        ret += d;
         if (ret < x)
             *overflow = 1;
     }
@@ -217,11 +217,11 @@
  * Style 1:  The suffix begins with a '.'.  The extension is replaced.
  *           If the name matches the original name, use the fallback method.
  *
- * Style 2:  The suffix is a single character, not a '.'.  Try to add the 
+ * Style 2:  The suffix is a single character, not a '.'.  Try to add the
  *           suffix to the following places, using the first one that works.
- *               [1] Append to extension.  
- *               [2] Append to filename, 
- *               [3] Replace end of extension, 
+ *               [1] Append to extension.
+ *               [2] Append to filename,
+ *               [3] Replace end of extension,
  *               [4] Replace end of filename.
  *           If the name matches the original name, use the fallback method.
  *
@@ -257,7 +257,7 @@
  *                longname.fil => longname.fi~
  *                longname.fi~ => longnam~.fi~
  *                longnam~.fi~ => longnam~.$$$
- *                
+ *
  */
 
 
@@ -311,7 +311,7 @@
 	strcpy(p, suffix);
     }
     else if (suffix[1] == '\0') {  /* Style 2 */
-        if (extlen < 4) { 
+        if (extlen < 4) {
 	    ext[extlen] = *suffix;
 	    ext[++extlen] = '\0';
         }
@@ -336,7 +336,7 @@
 }
 
 #if defined(__CYGWIN32__) || defined(_WIN32)
-static int 
+static int
 valid_filename(const char *s)
 {
     int fd;
Index: regexec.c
===================================================================
--- regexec.c	(revision 22551)
+++ regexec.c	(revision 22552)
@@ -220,13 +220,13 @@
 onig_region_resize_clear(OnigRegion* region, int n)
 {
   int r;
-  
+
   r = onig_region_resize(region, n);
   if (r != 0) return r;
   onig_region_clear(region);
   return 0;
 }
-    
+
 extern int
 onig_region_set(OnigRegion* region, int at, int beg, int end)
 {
@@ -236,7 +236,7 @@
     int r = onig_region_resize(region, at + 1);
     if (r < 0) return r;
   }
-  
+
   region->beg[at] = beg;
   region->end[at] = end;
   return 0;
@@ -2149,7 +2149,7 @@
 	int len;
 	UChar *pstart, *pend;
 
-	/* if you want to remove following line, 
+	/* if you want to remove following line,
 	   you should check in parse and compile time. */
 	if (mem > num_mem) goto fail;
 	if (mem_end_stk[mem]   == INVALID_STACK_INDEX) goto fail;
@@ -2181,7 +2181,7 @@
 	int len;
 	UChar *pstart, *pend;
 
-	/* if you want to remove following line, 
+	/* if you want to remove following line,
 	   you should check in parse and compile time. */
 	if (mem > num_mem) goto fail;
 	if (mem_end_stk[mem]   == INVALID_STACK_INDEX) goto fail;
@@ -2310,7 +2310,7 @@
 	MOP_OUT;
 	continue;
       }
-      
+
       break;
 #endif
 
@@ -2987,7 +2987,7 @@
 static int
 set_bm_backward_skip(UChar* s, UChar* end, OnigEncoding enc ARG_UNUSED,
 		     int** skip)
-		     
+
 {
   int i, len;
 
Index: error.c
===================================================================
--- error.c	(revision 22551)
+++ error.c	(revision 22552)
@@ -369,7 +369,7 @@
  * call-seq:
  *    Exception.new(msg = nil)   =>  exception
  *
- *  Construct a new Exception object, optionally passing in 
+ *  Construct a new Exception object, optionally passing in
  *  a message.
  */
 
@@ -390,12 +390,12 @@
  *
  *  call-seq:
  *     exc.exception(string) -> an_exception or exc
- *  
+ *
  *  With no argument, or if the argument is the same as the receiver,
  *  return the receiver. Otherwise, create a new
  *  exception object of the same class as the receiver, but with a
  *  message equal to <code>string.to_str</code>.
- *     
+ *
  */
 
 static VALUE
@@ -476,27 +476,27 @@
 /*
  *  call-seq:
  *     exception.backtrace    => array
- *  
+ *
  *  Returns any backtrace associated with the exception. The backtrace
  *  is an array of strings, each containing either ``filename:lineNo: in
  *  `method''' or ``filename:lineNo.''
- *     
+ *
  *     def a
  *       raise "boom"
  *     end
- *     
+ *
  *     def b
  *       a()
  *     end
- *     
+ *
  *     begin
  *       b()
  *     rescue => detail
  *       print detail.backtrace.join("\n")
  *     end
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     prog.rb:2:in `a'
  *     prog.rb:6:in `b'
  *     prog.rb:10
@@ -536,11 +536,11 @@
 /*
  *  call-seq:
  *     exc.set_backtrace(array)   =>  array
- *  
+ *
  *  Sets the backtrace information associated with <i>exc</i>. The
  *  argument must be an array of <code>String</code> objects in the
  *  format described in <code>Exception#backtrace</code>.
- *     
+ *
  */
 
 static VALUE
@@ -552,9 +552,9 @@
 /*
  *  call-seq:
  *     exc == obj   => true or false
- *  
+ *
  *  Equality---If <i>obj</i> is not an <code>Exception</code>, returns
- *  <code>false</code>. Otherwise, returns <code>true</code> if <i>exc</i> and 
+ *  <code>false</code>. Otherwise, returns <code>true</code> if <i>exc</i> and
  *  <i>obj</i> share same class, messages, and backtrace.
  */
 
@@ -846,7 +846,7 @@
     rb_raise(rb_eArgError, "invalid value for %s: %s", type, RSTRING_PTR(s));
 }
 
-/* 
+/*
  *  Document-module: Errno
  *
  *  Ruby exception objects are subclasses of <code>Exception</code>.
@@ -856,21 +856,21 @@
  *  number generating its own subclass of <code>SystemCallError</code>.
  *  As the subclass is created in module <code>Errno</code>, its name
  *  will start <code>Errno::</code>.
- *     
+ *
  *  The names of the <code>Errno::</code> classes depend on
  *  the environment in which Ruby runs. On a typical Unix or Windows
  *  platform, there are <code>Errno</code> classes such as
  *  <code>Errno::EACCES</code>, <code>Errno::EAGAIN</code>,
  *  <code>Errno::EINTR</code>, and so on.
- *     
+ *
  *  The integer operating system error number corresponding to a
  *  particular error is available as the class constant
  *  <code>Errno::</code><em>error</em><code>::Errno</code>.
- *     
+ *
  *     Errno::EACCES::Errno   #=> 13
  *     Errno::EAGAIN::Errno   #=> 11
  *     Errno::EINTR::Errno    #=> 4
- *     
+ *
  *  The full list of operating system errors on your particular platform
  *  are available as the constants of <code>Errno</code>.
  *
@@ -1014,7 +1014,7 @@
  *  statements in <code>begin/end</code> blocks. <code>Exception</code>
  *  objects carry information about the exception---its type (the
  *  exception's class name), an optional descriptive string, and
- *  optional traceback information. Programs may subclass 
+ *  optional traceback information. Programs may subclass
  *  <code>Exception</code> to add additional information.
  */
 
Index: numeric.c
===================================================================
--- numeric.c	(revision 22551)
+++ numeric.c	(revision 22552)
@@ -2455,7 +2455,7 @@
 	if (a == -1) {
 	    if (b % 2 == 0)
 		return INT2FIX(1);
-	    else 
+	    else
 		return INT2FIX(-1);
 	}
 	return int_pow(a, b);
Index: cont.c
===================================================================
--- cont.c	(revision 22551)
+++ cont.c	(revision 22552)
@@ -1,6 +1,6 @@
 /**********************************************************************
 
-  cont.c - 
+  cont.c -
 
   $Author$
   created at: Thu May 23 09:03:43 2007
@@ -461,24 +461,24 @@
  *  Continuations are somewhat analogous to a structured version of C's
  *  <code>setjmp/longjmp</code> (although they contain more state, so
  *  you might consider them closer to threads).
- *     
+ *
  *  For instance:
- *     
+ *
  *     arr = [ "Freddie", "Herbie", "Ron", "Max", "Ringo" ]
  *     callcc{|$cc|}
  *     puts(message = arr.shift)
  *     $cc.call unless message =~ /Max/
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     Freddie
  *     Herbie
  *     Ron
  *     Max
- *     
+ *
  *  This (somewhat contrived) example allows the inner loop to abandon
  *  processing early:
- *     
+ *
  *     callcc {|cont|
  *       for i in 0..4
  *         print "\n#{i}: "
@@ -489,9 +489,9 @@
  *       end
  *     }
  *     print "\n"
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     0:   0  1  2  3  4
  *     1:   5  6  7  8  9
  *     2:  10 11 12 13 14
@@ -501,7 +501,7 @@
 /*
  *  call-seq:
  *     callcc {|cont| block }   =>  obj
- *  
+ *
  *  Generates a <code>Continuation</code> object, which it passes to the
  *  associated block. Performing a <em>cont</em><code>.call</code> will
  *  cause the <code>callcc</code> to return (as will falling through the
@@ -543,13 +543,13 @@
  *  call-seq:
  *     cont.call(args, ...)
  *     cont[args, ...]
- *  
+ *
  *  Invokes the continuation. The program continues from the end of the
  *  <code>callcc</code> block. If no arguments are given, the original
  *  <code>callcc</code> returns <code>nil</code>. If one argument is
  *  given, <code>callcc</code> returns it. Otherwise, an array
  *  containing <i>args</i> is returned.
- *     
+ *
  *     callcc {|cont|  cont.call }           #=> nil
  *     callcc {|cont|  cont.call 1 }         #=> 1
  *     callcc {|cont|  cont.call 1, 2, 3 }   #=> [1, 2, 3]
@@ -592,26 +592,26 @@
  *  Document-class: Fiber
  *
  *  Fibers are primitives for implementing light weight cooperative
- *  concurrency in Ruby. Basically they are a means of creating code blocks 
- *  that can be paused and resumed, much like threads. The main difference 
- *  is that they are never preempted and that the scheduling must be done by 
- *  the programmer and not the VM. 
+ *  concurrency in Ruby. Basically they are a means of creating code blocks
+ *  that can be paused and resumed, much like threads. The main difference
+ *  is that they are never preempted and that the scheduling must be done by
+ *  the programmer and not the VM.
  *
  *  As opposed to other stackless light weight concurrency models, each fiber
  *  comes with a small 4KB stack. This enables the fiber to be paused from deeply
  *  nested function calls within the fiber block.
  *
- *  When a fiber is created it will not run automatically. Rather it must be 
- *  be explicitly asked to run using the <code>Fiber#resume</code> method. 
- *  The code running inside the fiber can give up control by calling 
- *  <code>Fiber.yield</code> in which case it yields control back to caller 
+ *  When a fiber is created it will not run automatically. Rather it must be
+ *  be explicitly asked to run using the <code>Fiber#resume</code> method.
+ *  The code running inside the fiber can give up control by calling
+ *  <code>Fiber.yield</code> in which case it yields control back to caller
  *  (the caller of the <code>Fiber#resume</code>).
- * 
- *  Upon yielding or termination the Fiber returns the value of the last 
+ *
+ *  Upon yielding or termination the Fiber returns the value of the last
  *  executed expression
- *  
+ *
  *  For instance:
- *  
+ *
  *    fiber = Fiber.new do
  *      Fiber.yield 1
  *      2
@@ -620,20 +620,20 @@
  *    puts fiber.resume
  *    puts fiber.resume
  *    puts fiber.resume
- *    
+ *
  *  <em>produces</em>
- *    
+ *
  *    1
  *    2
  *    FiberError: dead fiber called
- *     
+ *
  *  The <code>Fiber#resume</code> method accepts an arbitary number of
  *  parameters, if it is the first call to <code>resume</code> then they
  *  will be passed as block arguments. Otherwise they will be the return
  *  value of the call to <code>Fiber.yield</code>
  *
  *  Example:
- *  
+ *
  *    fiber = Fiber.new do |first|
  *      second = Fiber.yield first + 2
  *    end
@@ -643,7 +643,7 @@
  *    puts fiber.resume 18
  *
  *  <em>produces</em>
- *    
+ *
  *    12
  *    14
  *    FiberError: dead fiber called
@@ -923,7 +923,7 @@
 /*
  *  call-seq:
  *     fiber.alive? -> true or false
- *  
+ *
  *  Returns true if the fiber can still be resumed (or transferred to).
  *  After finishing execution of the fiber block this method will always
  *  return false.
@@ -939,13 +939,13 @@
 /*
  *  call-seq:
  *     fiber.resume(args, ...) -> obj
- *  
+ *
  *  Resumes the fiber from the point at which the last <code>Fiber.yield</code>
- *  was called, or starts running it if it is the first call to 
+ *  was called, or starts running it if it is the first call to
  *  <code>resume</code>. Arguments passed to resume will be the value of
- *  the <code>Fiber.yield</code> expression or will be passed as block 
+ *  the <code>Fiber.yield</code> expression or will be passed as block
  *  parameters to the fiber's block if this is the first <code>resume</code>.
- *  
+ *
  *  Alternatively, when resume is called it evaluates to the arguments passed
  *  to the next <code>Fiber.yield</code> statement inside the fiber's block
  *  or to the block value if it runs to completion without any
@@ -960,15 +960,15 @@
 /*
  *  call-seq:
  *     fiber.transfer(args, ...) -> obj
- *  
+ *
  *  Transfer control to another fiber, resuming it from where it last
- *  stopped or starting it if it was not resumed before. The calling 
+ *  stopped or starting it if it was not resumed before. The calling
  *  fiber will be suspended much like in a call to <code>Fiber.yield</code>.
- *  
- *  The fiber which recieves the transfer call is treats it much like 
+ *
+ *  The fiber which recieves the transfer call is treats it much like
  *  a resume call. Arguments passed to transfer are treated like those
  *  passed to resume.
- *     
+ *
  *  You cannot resume a fiber that transferred control to another one.
  *  This will cause a double resume error. You need to transfer control
  *  back to this fiber before it can yield and resume.
@@ -982,7 +982,7 @@
 /*
  *  call-seq:
  *     Fiber.yield(args, ...) -> obj
- *  
+ *
  *  Yields control back to the context that resumed the fiber, passing
  *  along any arguments that were passed to it. The fiber will resume
  *  processing at this point when <code>resume</code> is called next.
@@ -998,7 +998,7 @@
 /*
  *  call-seq:
  *     Fiber.current() -> fiber
- *  
+ *
  *  Returns the current fiber. You need to <code>require 'fiber'</code>
  *  before using this method. If you are not running in the context of
  *  a fiber this method will return the root fiber.
Index: compar.c
===================================================================
--- compar.c	(revision 22551)
+++ compar.c	(revision 22552)
@@ -50,7 +50,7 @@
 /*
  *  call-seq:
  *     obj == other    => true or false
- *  
+ *
  *  Compares two objects based on the receiver's <code><=></code>
  *  method, returning true if it returns 0. Also returns true if
  *  _obj_ and _other_ are the same object.
@@ -70,7 +70,7 @@
 /*
  *  call-seq:
  *     obj > other    => true or false
- *  
+ *
  *  Compares two objects based on the receiver's <code><=></code>
  *  method, returning true if it returns 1.
  */
@@ -87,7 +87,7 @@
 /*
  *  call-seq:
  *     obj >= other    => true or false
- *  
+ *
  *  Compares two objects based on the receiver's <code><=></code>
  *  method, returning true if it returns 0 or 1.
  */
@@ -104,7 +104,7 @@
 /*
  *  call-seq:
  *     obj < other    => true or false
- *  
+ *
  *  Compares two objects based on the receiver's <code><=></code>
  *  method, returning true if it returns -1.
  */
@@ -121,7 +121,7 @@
 /*
  *  call-seq:
  *     obj <= other    => true or false
- *  
+ *
  *  Compares two objects based on the receiver's <code><=></code>
  *  method, returning true if it returns -1 or 0.
  */
@@ -138,16 +138,16 @@
 /*
  *  call-seq:
  *     obj.between?(min, max)    => true or false
- *  
+ *
  *  Returns <code>false</code> if <i>obj</i> <code><=></code>
  *  <i>min</i> is less than zero or if <i>anObject</i> <code><=></code>
  *  <i>max</i> is greater than zero, <code>true</code> otherwise.
- *     
+ *
  *     3.between?(1, 5)               #=> true
  *     6.between?(1, 5)               #=> false
  *     'cat'.between?('ant', 'dog')   #=> true
  *     'gnu'.between?('ant', 'dog')   #=> false
- *     
+ *
  */
 
 static VALUE
@@ -167,7 +167,7 @@
  *  <code><=></code> to implement the conventional comparison operators
  *  (<code><</code>, <code><=</code>, <code>==</code>, <code>>=</code>,
  *  and <code>></code>) and the method <code>between?</code>.
- *     
+ *
  *     class SizeMatters
  *       include Comparable
  *       attr :str
@@ -181,18 +181,18 @@
  *         @str
  *       end
  *     end
- *     
+ *
  *     s1 = SizeMatters.new("Z")
  *     s2 = SizeMatters.new("YY")
  *     s3 = SizeMatters.new("XXX")
  *     s4 = SizeMatters.new("WWWW")
  *     s5 = SizeMatters.new("VVVVV")
- *     
+ *
  *     s1 < s2                       #=> true
  *     s4.between?(s1, s3)           #=> false
  *     s4.between?(s3, s5)           #=> true
  *     [ s3, s2, s5, s4, s1 ].sort   #=> [Z, YY, XXX, WWWW, VVVVV]
- *     
+ *
  */
 
 void
Index: blockinlining.c
===================================================================
--- blockinlining.c	(revision 22551)
+++ blockinlining.c	(revision 22552)
@@ -34,7 +34,7 @@
     else {
 	iseq->cached_special_block_builder = (void *)1;
     }
-    
+
     if (iseq->parent_iseq) {
 	parent = iseq->parent_iseq->self;
     }
Index: vm_insnhelper.c
===================================================================
--- vm_insnhelper.c	(revision 22551)
+++ vm_insnhelper.c	(revision 22552)
@@ -30,7 +30,7 @@
     int i;
 
     /* setup vm value stack */
-    
+
     /* nil initialize */
     for (i=0; i < local_size; i++) {
 	*sp = Qnil;
@@ -798,7 +798,7 @@
     else {
         int r = iseq->arg_rest;
 
-        if (iseq->arg_post_len || 
+        if (iseq->arg_post_len ||
                 iseq->arg_opts) { /* TODO: implement simple version for (iseq->arg_post_len==0 && iseq->arg_opts > 0) */
 	    opt_pc = vm_yield_setup_block_args_complex(th, iseq, argc, argv);
         }
Index: bignum.c
===================================================================
--- bignum.c	(revision 22551)
+++ bignum.c	(revision 22552)
@@ -1714,7 +1714,7 @@
 	t1 = xl; xl = xh; xh = t1;
     }
     bigadd_core(BDIGITS(xh), RBIGNUM_LEN(xh),
-		BDIGITS(xl), RBIGNUM_LEN(xl), 
+		BDIGITS(xl), RBIGNUM_LEN(xl),
 		BDIGITS(xh), RBIGNUM_LEN(xh));
 
     /* yh <- yh + yl */
@@ -1723,7 +1723,7 @@
 	    t1 = yl; yl = yh; yh = t1;
 	}
 	bigadd_core(BDIGITS(yh), RBIGNUM_LEN(yh),
-		    BDIGITS(yl), RBIGNUM_LEN(yl), 
+		    BDIGITS(yl), RBIGNUM_LEN(yl),
 		    BDIGITS(yh), RBIGNUM_LEN(yh));
     }
     else yh = xh;
Index: regsyntax.c
===================================================================
--- regsyntax.c	(revision 22551)
+++ regsyntax.c	(revision 22552)
@@ -67,8 +67,8 @@
     ONIG_SYN_OP_BRACE_INTERVAL |
     ONIG_SYN_OP_PLUS_ONE_INF | ONIG_SYN_OP_QMARK_ZERO_ONE | ONIG_SYN_OP_VBAR_ALT )
   , 0
-  , ( ONIG_SYN_CONTEXT_INDEP_ANCHORS | 
-      ONIG_SYN_CONTEXT_INDEP_REPEAT_OPS | ONIG_SYN_CONTEXT_INVALID_REPEAT_OPS | 
+  , ( ONIG_SYN_CONTEXT_INDEP_ANCHORS |
+      ONIG_SYN_CONTEXT_INDEP_REPEAT_OPS | ONIG_SYN_CONTEXT_INVALID_REPEAT_OPS |
       ONIG_SYN_ALLOW_UNMATCHED_CLOSE_SUBEXP |
       ONIG_SYN_ALLOW_DOUBLE_RANGE_OP_IN_CC )
   , ( ONIG_OPTION_SINGLELINE | ONIG_OPTION_MULTILINE )
Index: marshal.c
===================================================================
--- marshal.c	(revision 22551)
+++ marshal.c	(revision 22552)
@@ -1608,7 +1608,7 @@
  * call-seq:
  *     load( source [, proc] ) => obj
  *     restore( source [, proc] ) => obj
- * 
+ *
  * Returns the result of converting the serialized data in source into a
  * Ruby object (possibly with associated subordinate objects). source
  * may be either an instance of IO or an object that responds to
Index: signal.c
===================================================================
--- signal.c	(revision 22551)
+++ signal.c	(revision 22552)
@@ -306,14 +306,14 @@
 /*
  *  call-seq:
  *     Process.kill(signal, pid, ...)    => fixnum
- *  
+ *
  *  Sends the given signal to the specified process id(s), or to the
  *  current process if _pid_ is zero. _signal_ may be an
  *  integer signal number or a POSIX signal name (either with or without
  *  a +SIG+ prefix). If _signal_ is negative (or starts
  *  with a minus sign), kills process groups instead of
  *  processes. Not all signals are available on all platforms.
- *     
+ *
  *     pid = fork do
  *        Signal.trap("HUP") { puts "Ouch!"; exit }
  *        # ... do some work ...
@@ -321,9 +321,9 @@
  *     # ...
  *     Process.kill("HUP", pid)
  *     Process.wait
- *     
+ *
  *  <em>produces:</em>
- *     
+ *
  *     Ouch!
  */
 
Index: random.c
===================================================================
--- random.c	(revision 22551)
+++ random.c	(revision 22552)
@@ -9,7 +9,7 @@
 
 **********************************************************************/
 
-/* 
+/*
 This is based on trimmed version of MT19937.  To get the original version,
 contact <http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html>.
 
@@ -24,7 +24,7 @@
    or init_by_array(mt, init_key, key_length).
 
    Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
-   All rights reserved.                          
+   All rights reserved.
 
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
@@ -37,8 +37,8 @@
         notice, this list of conditions and the following disclaimer in the
         documentation and/or other materials provided with the distribution.
 
-     3. The names of its contributors may not be used to endorse or promote 
-        products derived from this software without specific prior written 
+     3. The names of its contributors may not be used to endorse or promote
+        products derived from this software without specific prior written
         permission.
 
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -59,7 +59,7 @@
    email: matumoto@m...
 */
 
-/* Period parameters */  
+/* Period parameters */
 #define N 624
 #define M 397
 #define MATRIX_A 0x9908b0dfUL   /* constant vector a */
@@ -340,7 +340,7 @@
 /*
  *  call-seq:
  *     srand(number=0)    => old_seed
- *  
+ *
  *  Seeds the pseudorandom number generator to the value of
  *  <i>number</i>. If <i>number</i> is omitted
  *  or zero, seeds the generator using a combination of the time, the
@@ -369,7 +369,7 @@
     return old;
 }
 
-static unsigned long 
+static unsigned long
 make_mask(unsigned long x)
 {
     x = x | x >> 1;
@@ -465,7 +465,7 @@
 /*
  *  call-seq:
  *     rand(max=0)    => number
- *  
+ *
  *  Converts <i>max</i> to an integer using max1 =
  *  max<code>.to_i.abs</code>. If the result is zero, returns a
  *  pseudorandom floating point number greater than or equal to 0.0 and
@@ -474,7 +474,7 @@
  *  may be used to ensure repeatable sequences of random numbers between
  *  different runs of the program. Ruby currently uses a modified
  *  Mersenne Twister with a period of 2**19937-1.
- *     
+ *
  *     srand 1234                 #=> 0
  *     [ rand,  rand ]            #=> [0.191519450163469, 0.49766366626136]
  *     [ rand(10), rand(1000) ]   #=> [6, 817]
Index: transcode.c
===================================================================
--- transcode.c	(revision 22551)
+++ transcode.c	(revision 22552)
@@ -1269,13 +1269,13 @@
             memcpy(*output_ptr, data_start, len);
             *output_ptr += len;
             ec->elems[ec->num_trans-1].out_data_start =
-                ec->elems[ec->num_trans-1].out_data_end = 
+                ec->elems[ec->num_trans-1].out_data_end =
                 ec->elems[ec->num_trans-1].out_buf_start;
             has_output = 1;
         }
     }
 
-    if (ec->in_buf_start && 
+    if (ec->in_buf_start &&
         ec->in_data_start != ec->in_data_end) {
         res = rb_trans_conv(ec, (const unsigned char **)&ec->in_data_start, ec->in_data_end, output_ptr, output_stop,
                 (flags&~ECONV_AFTER_OUTPUT)|ECONV_PARTIAL_INPUT, &result_position);
@@ -1519,7 +1519,7 @@
 
 /* result: 0:success -1:failure */
 int
-rb_econv_insert_output(rb_econv_t *ec, 
+rb_econv_insert_output(rb_econv_t *ec,
     const unsigned char *str, size_t len, const char *str_encoding)
 {
     const char *insert_encoding = rb_econv_encoding_to_insert_output(ec);
@@ -1863,7 +1863,7 @@
         if (entry->transcoder)
             trs[n++] = entry->transcoder;
     }
-    
+
     num_trans = ec->num_trans;
     j = 0;
     for (i = 0; i < num_trans; i++) {
@@ -3107,7 +3107,7 @@
  *   p ec.convpath #=> [[#<Encoding:UTF-16BE>, #<Encoding:UTF-8>],
  *                 #    "universal_newline"]
  *
- *   # But, if the last encoding is ASCII incompatible, 
+ *   # But, if the last encoding is ASCII incompatible,
  *   # decorators are inserted before the last conversion.
  *   ec = Encoding::Converter.new("UTF-8", "UTF-16BE", :crlf_newline => true)
  *   p ec.convpath #=> ["crlf_newline",
@@ -3218,7 +3218,7 @@
 econv_source_encoding(VALUE self)
 {
     rb_econv_t *ec = check_econv(self);
-    if (!ec->source_encoding) 
+    if (!ec->source_encoding)
         return Qnil;
     return rb_enc_from_encoding(ec->source_encoding);
 }
@@ -3233,7 +3233,7 @@
 econv_destination_encoding(VALUE self)
 {
     rb_econv_t *ec = check_econv(self);
-    if (!ec->destination_encoding) 
+    if (!ec->destination_encoding)
         return Qnil;
     return rb_enc_from_encoding(ec->destination_encoding);
 }
@@ -3638,7 +3638,7 @@
  *
  *   # \xff is invalid as EUC-JP.
  *   ec = Encoding::Converter.new("EUC-JP", "Shift_JIS")
- *   ec.primitive_convert(src="\xff", dst="", nil, 10)                       
+ *   ec.primitive_convert(src="\xff", dst="", nil, 10)
  *   p ec.primitive_errinfo
  *   #=> [:invalid_byte_sequence, "EUC-JP", "UTF-8", "\xFF", ""]
  *
@@ -3659,7 +3659,7 @@
  *   # Encoding::Converter::PARTIAL_INPUT prevents invalid errors by
  *   # partial characters.
  *   ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
- *   ec.primitive_convert(src="\xa4", dst="", nil, 10, Encoding::Converter::PARTIAL_INPUT)                 
+ *   ec.primitive_convert(src="\xa4", dst="", nil, 10, Encoding::Converter::PARTIAL_INPUT)
  *   p ec.primitive_errinfo
  *   #=> [:source_buffer_empty, nil, nil, nil, nil]
  *
@@ -3823,7 +3823,7 @@
  *   ec.last_error -> exception or nil
  *
  * Returns an exception object for the last conversion.
- * Returns nil if the last conversion did not produce an error. 
+ * Returns nil if the last conversion did not produce an error.
  *
  * "error" means that
  * Encoding::InvalidByteSequenceError and Encoding::UndefinedConversionError for

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

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