diff --git a/src/CHANGELOG b/src/CHANGELOG index 75631d018..3db2731f2 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -60,6 +60,9 @@ ECL 0.9l-p1: > (si::load-foreign-module "/usr/lib/libm.dylib") # + - In reading functions, the value of :RECURSIVE-P should not interfere with + that of :EOF-ERROR-P + ;;; Local Variables: *** ;;; mode:text *** ;;; fill-column:79 *** diff --git a/src/c/read.d b/src/c/read.d index 4db2da5a2..408cbf0b9 100644 --- a/src/c/read.d +++ b/src/c/read.d @@ -1526,7 +1526,7 @@ do_read_delimited_list(int d, cl_object in, bool proper_list) ecl_string_push_extend(token, c); } while(1); if (c == EOF && token->base_string.fillp == 0) { - if (!Null(eof_errorp) || !Null(recursivep)) + if (!Null(eof_errorp)) FEend_of_file(strm); value0 = eof_value; value1 = Ct; @@ -1554,7 +1554,7 @@ do_read_delimited_list(int d, cl_object in, bool proper_list) c = ecl_read_char(strm); if (c != EOF) output = CODE_CHAR(c); - else if (Null(eof_errorp) && Null(recursivep)) + else if (Null(eof_errorp)) output = eof_value; else FEend_of_file(strm); @@ -1636,7 +1636,7 @@ do_read_delimited_list(int d, cl_object in, bool proper_list) } /* We reach here if there was an EOF */ END_OF_FILE: - if (Null(eof_errorp) && Null(recursivep)) + if (Null(eof_errorp)) @(return eof_value) else FEend_of_file(strm);