diff --git a/src/c/file.d b/src/c/file.d index 22e0e9f18..8e67d5a7d 100644 --- a/src/c/file.d +++ b/src/c/file.d @@ -3063,9 +3063,8 @@ parse_external_format(cl_object stream, cl_object format, int flags) return (flags & ~ECL_STREAM_FORMAT) | ECL_STREAM_USER_FORMAT; } if (SYMBOLP(format)) { - stream->stream.format_table = _ecl_funcall2(@'ext::make-encoding', - format); - return (flags & ~ECL_STREAM_FORMAT) | ECL_STREAM_USER_FORMAT; + format = _ecl_funcall2(@'ext::make-encoding', format); + return parse_external_format(stream, format, flags); } #endif FEerror("Unknown or unsupported external format: ~A", 1, format);