diff --git a/src/c/print.d b/src/c/print.d index 47720b054..fbae51484 100644 --- a/src/c/print.d +++ b/src/c/print.d @@ -1409,7 +1409,7 @@ si_write_ugly_object(cl_object x, cl_object stream) case t_random: write_str("#$", stream); - si_write_ugly_object(ecl_make_unsigned_integer(x->random.value), stream); + write_array(1, x->random.value, stream); break; #ifndef CLOS diff --git a/src/c/read.d b/src/c/read.d index 5c32b7066..6c266085d 100644 --- a/src/c/read.d +++ b/src/c/read.d @@ -1279,7 +1279,7 @@ sharp_dollar_reader(cl_object in, cl_object c, cl_object d) extra_argument('$', in, d); c = ecl_read_object(in); rs = cl_alloc_object(t_random); - rs->random.value = fixnnint(c); + rs->random.value = c; @(return rs) }