From ae9d09552770611395a55f3f75f455241d612bb7 Mon Sep 17 00:00:00 2001 From: Abdulaziz Ghuloum Date: Sat, 1 Nov 2008 15:13:27 -0400 Subject: [PATCH] - fixed bug in printing "-0.0i" on some archs (cygwin, solaris, etc.) - fixed bug reading non-ascii strings in 64-bit mode. --- scheme/ikarus.fasl.ss | 2 +- scheme/ikarus.numerics.ss | 2 +- scheme/last-revision | 2 +- scheme/tests/fasl.ss | 2 ++ 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/scheme/ikarus.fasl.ss b/scheme/ikarus.fasl.ss index a1b22d4..0a0b978 100644 --- a/scheme/ikarus.fasl.ss +++ b/scheme/ikarus.fasl.ss @@ -258,7 +258,7 @@ (let ([str (make-string n)]) (let f ([i 0]) (unless (fx= i n) - (let ([c (integer->char (read-int p))]) + (let ([c (integer->char (read-u32 p))]) (string-set! str i c) (f (fxadd1 i))))) (when m (put-mark m str)) diff --git a/scheme/ikarus.numerics.ss b/scheme/ikarus.numerics.ss index 8dea995..d089031 100644 --- a/scheme/ikarus.numerics.ss +++ b/scheme/ikarus.numerics.ss @@ -1627,7 +1627,7 @@ (cond [(eqv? x 1) "+"] [(eqv? x -1) "-"] - [(or (< x 0) (and (flonum? x) (not (flzero? (atan 0.0 x))))) + [(or (< x 0) (eqv? x -0.0)) ($number->string x r)] [else (string-append "+" ($number->string x r))])) (define $number->string diff --git a/scheme/last-revision b/scheme/last-revision index 047d57f..df05bdc 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1658 +1659 diff --git a/scheme/tests/fasl.ss b/scheme/tests/fasl.ss index 960f724..c8e6968 100644 --- a/scheme/tests/fasl.ss +++ b/scheme/tests/fasl.ss @@ -37,6 +37,7 @@ (test #f) (test '()) (test "Hello") + (test "He\x3bb;\x3bb;o") (test 'hello) (test '(Hello There)) (test 3498798327498723894789237489324) @@ -46,6 +47,7 @@ (test 127487384734.4) (test (make-rectangular 12 13)) (test (make-rectangular 12.0 13.0)) + (test (string #\a)) (test (string #\x3bb)) (test-cycle))