A possible fix for character printing

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

A possible fix for character printing

Levente Uzonyi-2
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