diff --git a/scheme/read.sld b/scheme/read.sld index 0b67f6e4..5432fb03 100644 --- a/scheme/read.sld +++ b/scheme/read.sld @@ -294,7 +294,10 @@ (substring t 0 end) (substring t end (- len 1)))) (real (string->number real-str)) - (imag (string->number imag-str)) + (imag (cond + ((equal? "+" imag-str) 1) ;; Special case, +i w/no number + ((equal? "-" imag-str) -1) ;; Special case, -i + (else (string->number imag-str)))) ) (Cyc-make-rect real imag))) (else