from Version_2_6_10-278-gee178f1 to Version_2_6_11pre
a: Version_2_6_10-278-gee178f1
b: Version_2_6_11pre

Help
Common Key Bindings:
p:previous block  n:next block  G:redisplay  q:quit
Extra Bindings for Diff blocks:
RET:visit file/line
diff --git gcl-2.6.10.orig/ansi-tests/rt.lsp gcl-2.6.10/ansi-tests/rt.lsp
index 2e3ce50..7ebb8cb 100644
--- gcl-2.6.10.orig/ansi-tests/rt.lsp
+++ gcl-2.6.10/ansi-tests/rt.lsp
@@ -192,16 +192,13 @@ them.")
 		(not (equalp-with-case r (vals entry)))))
       (when (pend entry)
 	(let ((*print-circle* *print-circle-on-failure*))
-	  (format s "~&Test ~:@(~S~) failed~
-                   ~%Form: ~S~
-                   ~%Expected value~P: ~
-                      ~{~S~^~%~17t~}~%"
-		  *test* (form entry)
-		  (length (vals entry))
-		  (vals entry))
-	  (format s "Actual value~P: ~
-                      ~{~S~^~%~15t~}.~%"
-		  (length r) r)))))
+	  (format s "~&Test ~:@(~S~) failed~%Form: ~S~%Expected value~P:~%"
+                  *test* (form entry) (length (vals entry)))
+          (dolist (v (vals entry)) (format s "~10t~S~%" v))
+	  (format s "Actual value~P:~%" (length r))
+	  (dolist (v r)
+	    (format s "~10t~S~:[~; [~2:*~A]~]~%"
+		    v (typep v 'condition)))))))
   (when (not (pend entry)) *test*))
 
 (defun continue-testing ()
@@ -255,5 +252,19 @@ them.")
                          ~^, ~}~)."
 		    (length new-failures)
 		    new-failures)))
+          (when *expected-failures*
+            (let ((pending-table (make-hash-table :test #'equal)))
+              (dolist (ex pending)
+                (setf (gethash ex pending-table) t))
+              (let ((unexpected-successes
+                     (loop :for ex :in *expected-failures*
+                       :unless (gethash ex pending-table) :collect ex)))
+                (if unexpected-successes
+                    (format t "~&~:D unexpected successes: ~
+                   ~:@(~{~<~%   ~1:;~S~>~
+                         ~^, ~}~)."
+                            (length unexpected-successes)
+                            unexpected-successes)
+                    (format t "~&No unexpected successes.")))))
 	  ))
       (null pending))))
diff --git gcl-2.6.10.orig/lsp/gcl_top.lsp gcl-2.6.10/lsp/gcl_top.lsp
index fb53216..7a17d79 100755
--- gcl-2.6.10.orig/lsp/gcl_top.lsp
+++ gcl-2.6.10/lsp/gcl_top.lsp
@@ -779,8 +779,8 @@ First directory is checked for first name and all extensions etc."
  
 (defun do-f (file &aux *break-enable*)
   (catch *quit-tag*
-    (labels ((read-loop (st &aux (tem (read st nil 'eof))) (when (eq tem 'eof) (bye)) (eval tem) (read-file st))
-	     (read-file (st) (read-line st) (read-loop st)))
+    (labels ((read-loop (st &aux (tem (read st nil 'eof))) (when (eq tem 'eof) (bye)) (eval tem) (read-loop st))
+	     (read-file (st) (read-line st nil 'eof) (read-loop st)))
 	    (if file
 		(with-open-file
 		 (st file)
diff --git gcl-2.6.10.orig/o/array.c gcl-2.6.10/o/array.c
index 6dc0bb5..70362a1 100755
--- gcl-2.6.10.orig/o/array.c
+++ gcl-2.6.10/o/array.c
@@ -550,7 +550,7 @@ DEFUN_NEW("MAKE-ARRAY1",object,fSmake_array1,SI,6,6,
       { x->a.a_dims[i] = FIX_CHECK(Mcar(v));
 	if (x->a.a_dims[i] < 0)
 	  { FEerror("Dimension must be non negative",0);}
-	if (x->a.a_dims[i]>((1UL<<(sizeof(dim)*8-1))-1)/dim)
+	if (dim && x->a.a_dims[i]>((1UL<<(sizeof(dim)*8-1))-1)/dim)
 	  FEerror("Total dimension overflow on dimensions ~s",1,dimensions);
 	dim *= x->a.a_dims[i++];
 	v = Mcdr(v);}
diff --git gcl-2.6.10.orig/o/file.d gcl-2.6.10/o/file.d
index 3bf34cc..4e8510a 100755
--- gcl-2.6.10.orig/o/file.d
+++ gcl-2.6.10/o/file.d
@@ -1239,7 +1239,12 @@ BEGIN:
 
 #ifdef HAVE_READLINE
 	  if (readline_on && strm->sm.sm_fp==rl_instream)
-	    if (rl_line_buffer) return *rl_line_buffer ? TRUE : FALSE;
+	    if (rl_line_buffer) {
+	      if (*rl_line_buffer == 0 || *rl_line_buffer == EOF)
+	        return FALSE;
+	      else
+	        return TRUE;
+	    }
 #endif
 		if (strm->sm.sm_fp == NULL)
 			closed_stream(strm);
diff --git gcl-2.6.10.orig/o/gcl_readline.d gcl-2.6.10/o/gcl_readline.d
index 75515e4..2af83c0 100644
--- gcl-2.6.10.orig/o/gcl_readline.d
+++ gcl-2.6.10/o/gcl_readline.d
@@ -228,7 +228,7 @@ int rl_getc_em(FILE *f) {
       putc('\r', stdout);
       line = readline(rl_putc_em_line);
       rl_putc_em('\r', stdout);
-      if (line==NULL) return *rl_line_buffer=EOF;
+      if (line==NULL) {if (rl_line_buffer) *rl_line_buffer=EOF;return EOF;}
       if (line[0] != 0) add_history(line);
     } else {
       return getc(f);
diff --git gcl-2.6.10.orig/o/unixtime.c gcl-2.6.10/o/unixtime.c
index cb0bb69..ff9d07d 100755
--- gcl-2.6.10.orig/o/unixtime.c
+++ gcl-2.6.10/o/unixtime.c
@@ -271,16 +271,16 @@ DEFUN_NEW("CURRENT-TIMEZONE",object,fScurrent_timezone,SI,0,0,NONE,IO,OO,OO,OO,(
   
   /* Now UTC = (local time + bias), in units of minutes, so */
   /*fprintf ( stderr, "Bias = %ld\n", tzi.Bias );*/
-  return (object)(tzi.Bias/60);
+  return (object)((tzi.Bias+tzi.DaylightBias)/60);
   
 #elif defined NO_SYSTEM_TIME_ZONE
   return (object)0;
 #elif defined __CYGWIN__
   struct tm gt,lt;
-  fixnum _t=0;
+  fixnum _t=time(0);
   gmtime_r(&_t, &gt);
   localtime_r(&_t, &lt);
-  return (object)((lt.tm_mday == gt.tm_mday) ? -(lt.tm_hour) : (24 - lt.tm_hour));
+  return (object)(gt.tm_hour-lt.tm_hour+24*(gt.tm_yday!=lt.tm_yday ? (gt.tm_year>lt.tm_year||gt.tm_yday>lt.tm_yday ? 1 : -1) : 0));
 #else
   fixnum _t=time(0);
   return (object)(-localtime(&_t)->tm_gmtoff/3600);
