New IO implementation needs testing

Bug #175290 reported by Abdulaziz Ghuloum
2
Affects Status Importance Assigned to Milestone
Ikarus Scheme
Fix Released
Critical
Abdulaziz Ghuloum

Bug Description

The new IO system has been integrated into Ikarus, replacing the old system. The new system should provide better support for unicode and almost supports all the features required by the R6RS. There might be some corner cases that I've missed, and some procedures may have been lost in translation. Please do use the new system and report any problems you may encounter.

The major difference between the new and old system is that binary ports are now distinguished from textual ports. Therefore, get-char/put-char are only valid on textual ports while get-u8/put-u8 are only valid on binary ports.

Thanks.

Changed in ikarus:
importance: Undecided → Critical
Revision history for this message
Michael D. Adams (mdmkolbe) wrote :

$ make
make all-recursive
make[1]: Entering directory `/home/adamsmd/projects/ikarus/ikarus.dev'
Making all in src
make[2]: Entering directory `/home/adamsmd/projects/ikarus/ikarus.dev/src'
make all-am
make[3]: Entering directory `/home/adamsmd/projects/ikarus/ikarus.dev/src'
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -DNDEBUG -O3 -MT ikarus-io.o -MD -MP -MF .deps/ikarus-io.Tpo -c -o ikarus-io.o ikarus-io.c
ikarus-io.c: In function ‘ikrt_open_output_fd’:
ikarus-io.c:78: error: ‘S_IRUSR’ undeclared (first use in this function)
ikarus-io.c:78: error: (Each undeclared identifier is reported only once
ikarus-io.c:78: error: for each function it appears in.)
ikarus-io.c:78: error: ‘S_IWUSR’ undeclared (first use in this function)
ikarus-io.c:78: error: ‘S_IRGRP’ undeclared (first use in this function)
ikarus-io.c:78: error: ‘S_IROTH’ undeclared (first use in this function)
make[3]: *** [ikarus-io.o] Error 1
make[3]: Leaving directory `/home/adamsmd/projects/ikarus/ikarus.dev/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/adamsmd/projects/ikarus/ikarus.dev/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/adamsmd/projects/ikarus/ikarus.dev'
make: *** [all] Error 2

It seems you are trying to use stat() options with open(), which is really not supported on Linux.

Revision history for this message
Michael D. Adams (mdmkolbe) wrote :

Sorry, I took another look at it and those options *are* supported (I read it wrong before), you just need to #include <sys/stat.h>.

Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote :

added include in revision 1218.

Changed in ikarus:
status: New → Fix Committed
Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote :

This bug report is about to be closed as the fix comitted
previously will be incorporated in the next 0.0.3 release of
Ikarus Scheme, scheduled for January 31, 2008. A release
candidate tarball is available for download from:
http://www.cs.indiana.edu/~aghuloum/ikarus/ikarus-0.0.3-rc1.tar.gz
Please do test it if you have the time and report any issues
you might encounter. Thank you very much for your support.
(Sorry for the duplicates; I'm updating every open bug.)

Changed in ikarus:
assignee: nobody → aghuloum
milestone: none → 0.0.3
Changed in ikarus:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.