diff --git a/src/CHANGELOG b/src/CHANGELOG index eba44c786..94a7981e2 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -198,6 +198,8 @@ ECL 8.9.0: - Hash tables were not properly serialized. + - WRITE-LINE did not work with gray streams (A. Vodonosov) + ;;; Local Variables: *** ;;; mode:text *** ;;; fill-column:79 *** diff --git a/src/c/print.d b/src/c/print.d index ffab2906d..c4c7a8e8c 100644 --- a/src/c/print.d +++ b/src/c/print.d @@ -1892,9 +1892,14 @@ potential_number_p(cl_object strng, int base) @ strng = ecl_check_type_string(@'write-line', strng); strm = stream_or_default_output(strm); - si_do_write_sequence(strng, strm, start, end); - ecl_write_char('\n', strm); - ecl_force_output(strm); +#ifdef ECL_CLOS_STREAMS + if (type_of(strm) != t_stream) + funcall(5, @'gray::stream-write-string', strm, strng, + start, end); + else +#endif + si_do_write_sequence(strng, strm, start, end); + ecl_terpri(strm); @(return strng) @)