New SqueakMap on the air... and we got problems Houston!

Andreas Raab andreas.raab at gmx.de
Thu Apr 6 17:11:59 UTC 2006


Hi Goran -

goran at krampe.se wrote:
> Well, SM does more than "looking" (if IE 5 renders a page ugly it
> doesn't hurt that much - if SM screws up installing things it hurts
> more) and I am aiming for it to do even more in the future - actually
> modifying the map (getting rid of the web UI for modifying the map and
> instead letting client images upload modified SMObjects in XML form - at
> least that is the plan this hour).

I think that's a discussion for another day but I'd recommend to keep 
the web UI up.

> AFAIK you haven't yet mentioned 2.2 failing to install. I just tried it
> though (in Croquet) and I noted you are forbidding underscores as
> assignments - that was at least one issue (and I now changed the
> underscores in the load script). Hmmm, let me test again btw...
> 
> ...yes, ok, it works fine (unless I have missed something) if you first
> do:
> 
> 	Preferences enable: #allowUnderscoreAssignment

Actually, yes I missed something. My problem wasn't really installing (I 
just thought it was) but earlier in the process. There is a bug in 2.1 
in SMSqueakMap>>reload stating, e.g.,

contents := (self directory oldFileNamed: fname) ascii upToEnd unzipped.

Since you're setting it to ascii, the stream installs a UTF8Converter 
and stops reading at certain characters (this is another place that 
really should raise an error to inform the user that something went 
wrong instead of returning nil which informs the sender that the stream 
is apparently at end). The above needs to be "binary upToEnd asString 
unzipped" or somesuch. I got caught by that because I expected that 
Squeakmap was already installing.

> But I can clean those underscores up of course, anyone got a nice script
> that *works* :) to do that?

Oh, I am *very* confident that I have thoroughly debugged Bert's script. 
That exercise was a major part of my painful experiences yesterday 
because in the process of noting where it had failed earlier I blew up 
all of our repositories (and badly so). But actually it will work fine 
if you do just one change - that is use #hasLiteralSuchThat: instead of 
just looking at the top-level literals. That's because 
hasLiteralSuchThat: will look inside Array literals and that will avoid 
issues like here:

         version >= 1.1 ifTrue:[
             extensions addAll: #(
                 'GL:=EXT:=blend:=logic:=op'
                 'GL:=EXT:=copy:=texture'
                 'GL:=EXT:=polygon:=offset'
                 'GL:=EXT:=subtexture'
                 'GL:=EXT:=texture'
                 'GL:=EXT:=texture:=object'
                 'GL:=EXT:=vertex:=array'
             ).
         ].


Nice, eh?

Cheers,
   - Andreas



More information about the Squeak-dev mailing list