Patch proposal for PR 19678

Gordon Sande g.sande@worldnet.att.net
Thu Feb 24 21:30:00 GMT 2005


François-Xavier Coudert wrote:
>> Doesn't this patch mean that DOS line breaks ('\n\r') will be 
>> interpreted as
>> two separators?
> 
> 
> No, since DOS line breaks are "\r\n". All matching that was done with 
> '\n' is now done with '\n' or '\r', while all "eating" still only looks 
> for '\n'. In current form, it works only because DOS line breaks are 
> "\r\n" and not "\n\r".

WatCom recognizes that the LINEFEED (\n or <LF>) can also be a FORMFEED
(\f or <FF>). They output <FF> when that is indicated by the carriage
control. Some DOS text editors also understand this issue. I have not
had anyone cite a "standard" more definitive than "everyone does it"
for the use of <CR><LF> as the line separator when it is clearly not
the case. Given the mechanical history it would seem that <LF><CR>
would be equally valid but doing the <CR> first is clearly a more
sensible choice for mechanical device with a type head. The Unix
convention followed from the observation that many devices had an
option to always treat a <LF> as a <CR><LF> which was a convenience
when lines were slow and disks small. Apple chose <CR> for much the
same reason. One might believe that <CR> is a bit closer to the
intended usage that <LF>. There have been systems that do the
ASCII correctly and used <RS> (Record Separator) as one would expect
from the definition of the ASCII control characters. ModComp is such
an example.

Just a heads up that DOS is a bit nastier than just <CR><LF> and that
WatCom handled the problem well.

>>>     PR libfortran/19678
>>>     * list_read.c: Add support for DOS files
>>
>>
>> This level of detail is insufficient.  See
>> <http://www.gnu.org/prep/standards/html_node/Change-Logs.html> and
>> <http://gcc.gnu.org/codingconventions.html> for a detailed description 
>> of what
>> a ChangeLog should look like.  Basically, you must list all changed 
>> functions,
>> and the changes therein.
> 
> 
> What about:
> 
> 2005-02-24  François-Xavier Coudert  <coudert@clipper.ens.fr>
> 
>     PR libfortran/19678
>     * list_read.c: Add support for DOS files, adding '\r' in the list of 
> possible separators (is_separator and CASE_SEPARATORS). Many tests for 
> "c == '\n'" changed to "(c == '\n' || c == '\r')" (in next_char, 
> eat_separator, finish_separator, read_real and namelist_read).
> 
> 
> FX
> 




More information about the Gcc-patches mailing list