<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,24 @@
+Tue Mar  6 19:03:42 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;
+
+	* ext/digest/lib/md5.rb (MD5::new, MD5::md5): Do not modify
+	  Digest::MD5.
+
+	* ext/digest/lib/sha1.rb (SHA1::new, SHA1::sha1): Ditto.
+
+	* lib/shell/process-controller.rb: fix thread synchronization
+	  problem for [ruby-dev:30477].
+
+	* ext/digest/lib/md5.rb (MD5::new, MD5::md5): Catch up with
+	  Digest's API changes; noted by: Kazuhiro Yoshida &lt;moriq AT
+	  moriq.com&gt; in [ruby-dev:30500].
+
+	* ext/digest/lib/sha1.rb (SHA1::new, SHA1::sha1): Ditto.
+	
+	* time.c (time_to_s): Back out the format changes; discussed
+	  in [ruby-dev:30495].
+
+	* ext/tk/sample/irbtkw.rbw: fails to exit process.
+
 Mon Mar  5 20:26:10 2007  Akinori MUSHA  &lt;knu@iDaemons.org&gt;
 
 	* time.c (time_to_s): Correct the wrong format which did not</diff>
      <filename>ChangeLog</filename>
    </modified>
    <modified>
      <diff>@@ -37,6 +37,18 @@ with all sufficient information, see the ChangeLog file.
 
 * tk
 
+  * Tk::X_Scrollable (Y_Scrollable) is renamed to Tk::XScrollable
+    (YScrollable). Tk::X_Scrollable (Y_Scrollable) is still available,
+    but it is an alias name.
+
+  * Updated Tile extension support based on Tile 0.7.8.
+
+  * Support --without-X11 configure option for non-X11 versions of
+    Tcl/Tk (e.g. Tcl/Tk Aqua).
+
+  * New sample script: irbtkw.rbw -- IRB on Ruby/Tk. It has no trouble
+    about STDIN blocking on Windows.
+
 === New methods and features
 
 * builtin classes
@@ -77,14 +89,6 @@ with all sufficient information, see the ChangeLog file.
 
 * builtin classes
 
-  * Time#to_s now returns a string in a form that
-    conforms to RFC2822.
-
-      # Before
-      &quot;Wed Mar 03 12:34:56 JST 2007&quot;
-      # After
-      &quot;Wed, 03 Mar 2007 12:34:56 +0900&quot;
-
   * String#intern now raises SecurityError when $SAFE level is greater
     than zero.
 </diff>
      <filename>NEWS</filename>
    </modified>
    <modified>
      <diff>@@ -5,10 +5,19 @@
 
 require 'digest/md5'
 
-MD5 = Digest::MD5
+class MD5 &lt; Digest::MD5
+  class &lt;&lt; self
+    alias orig_new new
+    def new(str = nil)
+      if str
+        orig_new.update(str)
+      else
+        orig_new
+      end
+    end
 
-class MD5
-  def self.md5(*args)
-    new(*args)
+    def md5(*args)
+      new(*args)
+    end
   end
 end</diff>
      <filename>ext/digest/lib/md5.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,10 +5,19 @@
 
 require 'digest/sha1'
 
-SHA1 = Digest::SHA1
+class SHA1 &lt; Digest::SHA1
+  class &lt;&lt; self
+    alias orig_new new
+    def new(str = nil)
+      if str
+        orig_new.update(str)
+      else
+        orig_new
+      end
+    end
 
-class SHA1
-  def self.sha1(*args)
-    new(*args)
+    def sha1(*args)
+      new(*args)
+    end
   end
 end</diff>
      <filename>ext/digest/lib/sha1.rb</filename>
    </modified>
    <modified>
      <diff>@@ -26,7 +26,11 @@ console.yscrollbar(TkScrollbar.new(top, :width=&gt;10).pack(:before=&gt;console,
                                                          :side=&gt;:right, 
                                                          :expand=&gt;false, 
                                                          :fill=&gt;:y))
-ev_loop = Thread.new{Tk.mainloop}
+irb_thread = nil
+ev_loop = Thread.new{
+  Tk.mainloop
+  irb_thread.kill if irb_thread
+}
 
 # window position control
 root = Tk.root
@@ -116,4 +120,5 @@ console.bind('Control-c'){
 irb_thread.join
 
 # exit
+ev_thread.kill
 Tk.exit</diff>
      <filename>ext/tk/sample/irbtkw.rbw</filename>
    </modified>
    <modified>
      <diff>@@ -246,9 +246,11 @@ class Shell
 	    redo
 	  end
 	  Thread.exclusive do
-	    terminate_job(command)
-	    @job_condition.signal
-	    command.notify &quot;job(%id) finish.&quot;, @shell.debug?
+	    @job_monitor.synchronize do 
+	      terminate_job(command)
+	      @job_condition.signal
+	      command.notify &quot;job(%id) finish.&quot;, @shell.debug?
+	    end
 	  end
 	end
       }</diff>
      <filename>lib/shell/process-controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1239,11 +1239,11 @@ time_asctime(time)
  *     time.to_s    =&gt; string
  *  
  *  Returns a string representing &lt;i&gt;time&lt;/i&gt;. Equivalent to calling
- *  &lt;code&gt;Time#strftime&lt;/code&gt; with a format string of ``&lt;code&gt;%a,&lt;/code&gt;
- *  &lt;code&gt;%d&lt;/code&gt; &lt;code&gt;%b&lt;/code&gt; &lt;code&gt;%H:%M:%S&lt;/code&gt;
- *  &lt;code&gt;%Z&lt;/code&gt; &lt;code&gt;%Y&lt;/code&gt;'' (the RFC 2822 style).
+ *  &lt;code&gt;Time#strftime&lt;/code&gt; with a format string of ``&lt;code&gt;%a&lt;/code&gt;
+ *  &lt;code&gt;%b&lt;/code&gt; &lt;code&gt;%d&lt;/code&gt; &lt;code&gt;%H:%M:%S&lt;/code&gt;
+ *  &lt;code&gt;%Z&lt;/code&gt; &lt;code&gt;%Y&lt;/code&gt;''.
  *     
- *     Time.now.to_s   #=&gt; &quot;Wed 09 Apr 08:56:04 CDT 2003&quot;
+ *     Time.now.to_s   #=&gt; &quot;Wed Apr 09 08:56:04 CDT 2003&quot;
  */
 
 static VALUE
@@ -1253,30 +1253,32 @@ time_to_s(time)
     struct time_object *tobj;
     char buf[128];
     int len;
-    time_t off;
-    char buf2[32];
-    char sign = '+';
-#if !defined(HAVE_STRUCT_TM_TM_GMTOFF)
-    VALUE tmp;
-#endif
 
     GetTimeval(time, tobj);
     if (tobj-&gt;tm_got == 0) {
 	time_get_tm(time, tobj-&gt;gmt);
     }
+    if (tobj-&gt;gmt == 1) {
+	len = strftime(buf, 128, &quot;%a %b %d %H:%M:%S UTC %Y&quot;, &amp;tobj-&gt;tm);
+    }
+    else {
+	time_t off;
+	char buf2[32];
+	char sign = '+';
 #if defined(HAVE_STRUCT_TM_TM_GMTOFF)
-    off = tobj-&gt;tm.tm_gmtoff;
+	off = tobj-&gt;tm.tm_gmtoff;
 #else
-    tmp = time_utc_offset(time);
-    off = NUM2INT(tmp);
+	VALUE tmp = time_utc_offset(time);
+	off = NUM2INT(tmp);
 #endif
-    if (off &lt; 0) {
-	sign = '-';
-	off = -off;
+	if (off &lt; 0) {
+	    sign = '-';
+	    off = -off;
+	}
+	sprintf(buf2, &quot;%%a %%b %%d %%H:%%M:%%S %c%02d%02d %%Y&quot;,
+		sign, (int)(off/3600), (int)(off%3600/60));
+	len = strftime(buf, 128, buf2, &amp;tobj-&gt;tm);
     }
-    sprintf(buf2, &quot;%%a, %%d %%b %%Y %%H:%%M:%%S %c%02d%02d&quot;,
-	    sign, (int)(off/3600), (int)(off%3600/60));
-    len = strftime(buf, 128, buf2, &amp;tobj-&gt;tm);
     return rb_str_new(buf, len);
 }
 </diff>
      <filename>time.c</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 #define RUBY_VERSION &quot;1.8.6&quot;
-#define RUBY_RELEASE_DATE &quot;2007-03-05&quot;
+#define RUBY_RELEASE_DATE &quot;2007-03-06&quot;
 #define RUBY_VERSION_CODE 186
-#define RUBY_RELEASE_CODE 20070305
+#define RUBY_RELEASE_CODE 20070306
 #define RUBY_PATCHLEVEL 0
 
 #define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
 #define RUBY_VERSION_TEENY 6
 #define RUBY_RELEASE_YEAR 2007
 #define RUBY_RELEASE_MONTH 3
-#define RUBY_RELEASE_DAY 5
+#define RUBY_RELEASE_DAY 6
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];</diff>
      <filename>version.h</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>342cb2406dc473d0dd911c00861673db067c6e5b</id>
    </parent>
  </parents>
  <author>
    <name>knu</name>
    <email>knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
  </author>
  <url>http://github.com/ice799/matzruby/commit/b80dd17b7abb78287746d5573b3a8d127786fd9e</url>
  <id>b80dd17b7abb78287746d5573b3a8d127786fd9e</id>
  <committed-date>2007-03-06T02:12:12-08:00</committed-date>
  <authored-date>2007-03-06T02:12:12-08:00</authored-date>
  <message>Merge changes from ruby_1_8:

* ext/digest/lib/md5.rb (MD5::new, MD5::md5): Do not modify
  Digest::MD5.

* ext/digest/lib/sha1.rb (SHA1::new, SHA1::sha1): Ditto.

* lib/shell/process-controller.rb: fix thread synchronization
  problem for [ruby-dev:30477].

* ext/digest/lib/md5.rb (MD5::new, MD5::md5): Catch up with
  Digest's API changes; noted by: Kazuhiro Yoshida &lt;moriq AT
  moriq.com&gt; in [ruby-dev:30500].

* ext/digest/lib/sha1.rb (SHA1::new, SHA1::sha1): Ditto.
	
* time.c (time_to_s): Back out the format changes; discussed
  in [ruby-dev:30495].

* ext/tk/sample/irbtkw.rbw: fails to exit process.


git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_6@12008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e</message>
  <tree>e8e6f9b4257a9812c4abb589d23456c4a9cceb98</tree>
  <committer>
    <name>knu</name>
    <email>knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
  </committer>
</commit>
