I personally think all bets are off when malformed textual files are handed to textual functions. It should be such that Windows/DOS textual files should always have paired CRLF characters and that any have just LF or just CR should be regarded as malformed. Only binary functions should work on these.
I respectfully disagree. Functions which WRITE text files should write them correctly, but functions which READ text files should be tolerant. Text files still survive from the antiquated era when character codes drove character-by-character printing devices (like Teletype ASR33), and multiple CR characters were sometimes strung together to cause a delay while the physical carriage actually returned to the left margin. (The NUL character and the DEL character were also used for this purpose.)
Other operating systems have differing standards of what separates lines (or records) in a text file. Some use CRLF; some use LFCR; some use just CR; some use just LF (and call it a "newline"). I have seen other characters used as line- or record terminators, too. In particular NUL and ETX have been used. It is reasonable that users of TCC might want to be able to read, interpret, and process those files. They're not malformed; they are written to different standards.
In TTY days of yore, you didn't need CRLFCRLF to produce a blank line; all you needed was CRLFLF, as the carriage was already at the left margin.
In a perfect world (and I am NOT asking for this, Rex), one would be able to specify the character (or character string) which is considered to be a line terminator (or separator) and writing functions like @FILEWRITE[] would use it; and one would also specify a set of terminator strings that reading functions would recognize as EOL. TCC allowing CR, LF, and CRLF is pretty good, though.
I would ask that all the TCC functions use the same method of counting and numbering lines, though, and I think that's pretty close to the original request in this thread.
(I specifically suggest, Rex, that, if you can, you recognize any number of consecutive CRs immediately followed by a single LF (or VT or FF) as ONE terminator.)