Hi everybody,<div><br></div><div>after spending two days reading stuff about documented and undocumented functionality in Microsoft's API and CRT, I have come to the following conclusions:</div><div><br></div><div>* In Windows, it is impossible to reasonably use POSIX functions to read/write text from the console without letting the console do some translation for you.</div>

<div>* Moreover, POSIX's functions do not work, because read() and write() may actually read or write more bytes from the buffer thant you would want, precisely due to this "clever" translation.</div><div>* This all renders the CRT unusable, and as stated in a MSDN blog from Windows, one should stick to the Console read and write operations and forget about C entirely.</div>

<div><br></div><div>Well, I have coded a prototype of a Lisp stream for the console. ECL now has code that will detect whether the input/output/error channels are consoles and wrap them around with these streams. Moreover, it will also detect the current codepage and use it as external format for the stream.</div>

<div><br></div><div>All this is pretty much experimental and I need your help testing it. Please report problems.</div><div><br></div><div>BTW, as usual, all this is only available in git/CVS</div><div><br></div><div>Juanjo<br clear="all">

<div><br></div>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>


</div>