On Sun, Sep 3, 2017 at 11:08 AM, Warner Losh <imp(a)bsdimp.com> wrote:
On Sat, Sep 2, 2017 at 8:54 PM, Dave Horsfall <dave(a)horsfall.org> wrote:
On Sat, 2 Sep 2017, Nemo wrote:
Hhhmmm... This begs the historical question: When did LF replace CR/LF
in UNIX?
Unix has always used NL as the terminator :-)
<CR><LF> was the line terminator in DEC operating systems that grew up
around the same time as Unix. CP/M and MS-DOS inherited that from them
since those systems were developed, in part, using cross compilers running
on DEC gear with DEC OSes. Unix came from the Multics world where LF was
used as the line terminator... Thankfully, neither CP/M nor MS-DOS picked
up DEC's RMS...
Warner
The fun story on that Warner is after years of dogged defense of RMS,
when C was written for VMS, Cutler had to add Stream I/O. The moment is
was released, much (?most?) of customer base (including a lot of internal
folks like the compiler runtime and DB folks) switched to using it. It
was so much easier. I never heard Dave back down, but it I used to smile
when I saw the statistics.
We got the first release of VAX-C for VMS at school. It didn't have the
Stream I/O mode and all kinds of software was totally broken. There were
stern warnings in the release notes about this as well, IIRC. However, in
the next release it required an upgrade to the next rev of VMS since the C
runtime now depended on the Stream I/O features and all those programs that
were broken mostly worked w/o change. Took another few releases before
things liked exit() worked in a Unix-y way rather than as a thin wrapper
for SYS$EXIT() and such...
Warner