Bug 45310

GemStone/S 64 Bit

3.2.16, 3.2.15, 3.2.14, 3.2.13, 3.2.12, 3.2.11, 3.2.10, 3.2.9, 3.2.8.1, 3.2.8, 3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1, 3.2, 3.1.0.6, 3.1.0.5, 3.1.0.4, 3.1.0.3, 3.1.0.2, 3.1.0.1, 3.1, 3.0.1, 3.0, 2.4.8, 2.4.7, 2.4.6, 2.4.5.1, 2.4.5, 2.4.4.8, 2.4.4.7, 2.4.x, 2.3.1.6, 2.3.x, 2.2.5.4, 2.2.x, 2.x, 1.x

3.3

performOnServer: handling of non-ASCII arguments

System class >> performOnServer: accepts a string, sends it to the OS for execution, and passes the result back to GemStone Smalltalk.  When arguments are outside the ASCII range, GemStone must perform operations on the string in order to get correct behavior.

As GemStone's handling of extended Character data has changed over recent releases, the behavior has changed. While versions before 3.3 do not accept arguments with Characters with codepoints over 255, in 2.x it was possible to send encodeAsUTF8 to the entire command, while for 3.x this does not work, and you would need to compose a kind of string containing the UTF8 encoded characters.

Workaround

If you rely on server operations that may require non-ASCII characters to be used for arguments to performOnServer:, your uses of performOnSever: should be tested for each significant upgrade, to ensure that any special handling is added or removed.


Last updated: 7/22/15