-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
transcoded-port relies on port-position/set-port-position! #52
Comments
Thanks. Yeah, custom ports are quite badly implemented to keep it compatible with .NET. The crash issue on the second call was due to not checking for EOF before trying to normalize the EOL chars. Fixing that, deals with the case where get/set are both supplied, but the other cases are quite broken 🗡 |
You mean that .NET code is responsible for reading from the ports and they can be passed around to .NET code? Pretty cool if so, but looks difficult. In any other setting I would expect the ports to have their own buffers and no seeking would be needed. |
The idea was to use as much from .NET as possible, but custom ports are a bit of a mess. I could add buffering, but havent really used custom ports, so never had the need. |
The fs-fatfs tests pass now, but only because I don't check that the output is correct. :)
|
This is going to need a proper rework 😿 |
@weinholt can you try the latest release? |
@leppie Tested with fs-fatfs; verified that the output is now regular English. Looks good. |
I didn't check all the cases from the text of the issue though; busy writing USB hub driver code. |
It's fine. 👍 The issue should be more narrowed down now. |
The
get-line
procedure behaves strangely with custom binary input ports and also raises a condition.There are three different types of errors:
The following program demonstrates the problems:
Example output:
(I hope that this access pattern for ports is not the usual one, as it seems quite inefficient).
Tested with IronScheme 1.0.186-31c6aae on Mono 5.18.0.240+dfsg-3 (.NET 4.0 64-bit).
The text was updated successfully, but these errors were encountered: