<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Nov 12, 2013 at 12:06 PM, Paul Bone <span dir="ltr"><<a href="mailto:paul@bone.id.au" target="_blank">paul@bone.id.au</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
io.open_input/4 and io.open_output/4 open files for text input.  This means<br>
that line endings are automatically translated between platforms.  If a<br>
UNIX-style OS is used the file is assumed to be in the UNIX format, if a<br>
DOS-style OS is used then the file is assumed to be in the DOS format.<br>
However these assumptions aren't always correct.<br>
<br>
I share files with developers who use Windows (while I use Linux).  If a<br>
Mercury program such as the error program opens a file created by a<br>
developer who uses windows, then it incorrectly assumes the file uses the<br>
UNIX file endings, and after modifying and saving the file it uses a mix of<br>
both endings.<br>
<br>
Rather than awkwardly patch the error program, every other program that<br>
should behave like this, </blockquote><div><br></div><div>Look at the author list of that program, I'm guessing that Windows support</div><div>wasn't really a consideration ;-)  </div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
it'd be better to add support for this in Mercury's<br>
standard library.  </blockquote><div><br></div><div>I'm not convinced that this is a useful addition.  </div><div><br></div><div>What actually happens now for each target language / OS combination?</div><div><br></div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I propose that:<br>
<br>
    + An input stream's line ending style is automatically detected from the<br>
      file's contents, not from the host OS.</blockquote><div><br></div><div>I don't want that sort of heuristic approach (even for something as simple as line</div><div>endings) going on behind my back.</div><div>
<br></div><div>Cheers,</div><div>Julien.</div></div></div></div>