Skip to content

Conversation

stuij
Copy link

@stuij stuij commented Oct 14, 2022

Several shell.py script versions use the depreciated array.tostring() method, which has been removed in Python 3.9. I changed these instances to .tobytes(), and adjusted .ljust()'s second argument to be a byte string.

I also fixed a related issue, where #flash'ing from a shell.py which assumes a 2-cell wide Forth to a non-.hex file would error
because the unsigned short array returned from serialize() would be written to file with assumptions of signed short:

open(dest, "wb").write(array.array("h", d).tobytes())

This would cause an overflow error. Changing "h" to "H" in that last code snippet (in swapforth.py), lines up the signdedness.

@stuij
Copy link
Author

stuij commented Oct 14, 2022

I did notice that the previous commit to fix this kind of issue made a wrapper function to be compatible both with pre and post Python 3.2 code. However Python 3.2 has been released 11 years ago, and I hoped for this repo which might not be too embedded in the corporate world, we might be able to make the assumption/minimum requirement of people using Python 3.2 or later?

Several shell.py script versions use the depreciated array.tostring() method,
which has been removed in Python 3.9. I changed these instances to .tobytes(),
and adjusted .ljust()'s second argument to be a byte string.

I also fixed a related issue, where #flash'ing from a shell.py which assumes a
2-cell wide Forth to a non-.hex file would error
because the unsigned short array returned from serialize() would be written to
file with assumptions of signed short:

open(dest, "wb").write(array.array("h", d).tobytes())

This would cause an overflow error. Changing "h" to "H" in that last code
snippet (in swapforth.py), lines up the signdedness.
@stuij stuij force-pushed the array-to-python-3.9 branch from 9c40064 to 46c61a9 Compare October 17, 2022 19:06
@stuij
Copy link
Author

stuij commented Oct 18, 2022

updated with fix for J1b

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant