Can't load/save arrays with binary chars (0, 13, 26, 29)
A Logo programming environment for Microsoft Windows
Brought to you by:
david_costanzo
Some non-printable (binary) words can cause arrays to fail be be loaded properly after they are saved. The following values cause problems:
CHAR 0
CHAR 13
CHAR 26
CHAR 29
This makes it difficult to use Logo to manipulate binary values, such as WAVE files.
How Reproducible:
Every Time
Steps to Reproduce:
make "a array 2
setitem 1 :a char 13
save "badarray.lgo
load "badarray.lgo
save "badarray.lgo
load "badarray.lgo
show count :a
What Happens
1
Expected Result:
2 (and :a contains the same value as was originally entered).
The fixes for code points 13, 26, 29 were implemented when FMSLogo was updated to use Unicode and the "vbarred special characters" were moved from the ASCII control characters to a Private Use Area of Unicode.
The fix for code point 0 was implemented by [r5355], which rewrites the parser to use the string's length as its terminator, instead of NUL (code point 0).
Both of these fixes will be made available as the same time, in FMSLogo 8.0.0.
Related
Commit: [r5355]