[squeak-dev] A possible fix for character printing
Levente Uzonyi
leves at elte.hu
Tue Nov 23 13:16:29 UTC 2010
Hi,
I uploaded two packages to the Inbox which are intended to fix the
problems with array printing and storing. Currently [#($ ) storeString]
evalates to '#(Character space )', which is not valid smalltalk code. The
cause of the problem is (as discussed here earlier) that Characters
return true for #isLiteral, but not all characters are printed/stored as
literals.
This solution defines a new method #shouldBePrintedAsLiteral which returns
true only for those Characters which are printed/stored as literals.
Evaluate the following to test it in your updated Trunk image:
Installer squeak
project: 'inbox';
install: 'Kernel-ul.518';
install: 'Collections-ul.411'.
This solution doesn't fix all compiler issues, since some objects have
more than one representation: #($ ), { Character space }, { $ }, etc.
Another possible solution would be to print/store all characters in
literal format (as it was done earlier), but some of the printed objects
are not readable (by humans) in that case.
Cheers,
Levente
More information about the Squeak-dev
mailing list
|