[Ecls-list] Troubles with cygwin

Juan Jose Garcia-Ripoll jjgarcia at users.sourceforge.net
Tue Dec 25 22:31:08 UTC 2007


I am really having troubles with this port. So much that I am
seriously thinking about declaring it broken and moving on.

The issue is the following one. I have this piece of code

(si::system "rm -f foo")
(LET ((S (OPEN "foo" :direction :IO :if-does-not-exist :create)))
  (write-char #\h s)
  (force-output s)
  (close s))
(si::system "cat foo; echo")

It is intented to create a file with a single character. Well, it
simply does not work. It does create a file, but the character is
lost. Using TERPRI before CLOSE solves the problem. It also does it if
I replace :IO with :OUTPUT. So it seems the problems are related to
the flags "w+b" which I use to open the files.

I have been reading the POSIX manual page for fopen. It states that
when changing from reads to writes and viceversa one has to use flush
and fseek in between. I have even modified the code in ECL to do that!

Does anybody have the same problem? Could you please test it with your
own version of Cygwin? Does this only happen in my computer?

Or if, nobody cares about this port, can I forget about it? :-)


Facultad de Fisicas, Universidad Complutense,
Ciudad Universitaria s/n Madrid 28040 (Spain)

More information about the ecl-devel mailing list