Windows version now uses Unicode

Because of a bug uncovered since the release, all users of the IDE on Windows should update Allegro CL using sys:update-allegro or the Download Patches dialog in the IDE.

Starting in Allegro CL 9.0, Common Graphics and the IDE on the Windows platform uses the Unicode (specifically two-bytes-per-character) version of the Windows API, rather than the ANSI (one-byte-per-character) version, used in earlier releases. This allows Common Graphics applications to use any language(s) without the end user needing to boot Windows with a corresponding locale, and to use any combination of languages in the same application.

The bug mentioned above arose from failing to correctly modify Lisp reading functions like read, read-char, and read-line in text-edit-pane controls and IDE listeners. The result was that direct calls to those functions in, say, the IDE listener (the Debug window) resulted in errors, so, for example, here we make a direct call to read and then enter '1' followed by a carriage return, and rather than reading and evaluating '1', the system errors:

cg-user(1): (read)
1

Error: `nil' is not of the expected type `character'
[condition type: type-error]
[1] cg-user(2): 

This behavior is, as said above, fixed by available patches. The correct behavior is:

cg-user(1): (read)
123

123
cg-user(2): 
Copyright © 2023 Franz Inc., All Rights Reserved | Privacy Statement Twitter