[Pharo-project] Cannot browse senders of #binary
Browse senders of #binary and... MessageSet >> #methodDisplayStringForClass:selector: -> ByteString doesNotUnderstand: #packageName This change seems recent.
Hi nicolas This is strange because if I type binary and press alt N or Alt m I get them. Then if I do the same with #binary I do not get anything. can you tell me more? Because I used senders and implementors like a mad to curve etoy. Stef On Oct 16, 2008, at 9:01 PM, nicolas cellier wrote:
Browse senders of #binary and...
MessageSet >> #methodDisplayStringForClass:selector:
-> ByteString doesNotUnderstand: #packageName
This change seems recent.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Stéphane Ducasse <stephane.ducasse@...> writes:
Hi nicolas
This is strange because if I type binary and press alt N or Alt m I get them. Then if I do the same with #binary I do not get anything. can you tell me more? Because I used senders and implementors like a mad to curve etoy. Stef
Ah, indeed, this works in a fresh image, and it is hard to reproduce. However, if you read code (MessageSet >> #methodDisplayStringForClass:selector:), you will see that this line is wrong: nextPutAll: (PackageOrganizer default mostSpecificPackageOfClass: class ifNone: '***') packageName ; Potentially, it can send #packageName to '***'. How did I trigger the ifNone: '***' ? I think it is because while patching SLICE-Mantis-6933-MultiByteFileStream-upTo-nice.1, I created a new category (MultilingualTests) with no corresponding package. So create a class with a new category: Object subclass: #AnUnpackagedClass instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'NimporteQuoi' Then compile AnUnpackagedClass >> #triggerTheBug ^self binary Then browse senders of binary... You see it? That's a minor bug, but code must be changed. Nicolas
Of course I see my ugly mistake. I will create a dummy package in that case. Stef On Oct 17, 2008, at 8:47 AM, nicolas cellier wrote:
Stéphane Ducasse <stephane.ducasse@...> writes:
Hi nicolas
This is strange because if I type binary and press alt N or Alt m I get them. Then if I do the same with #binary I do not get anything. can you tell me more? Because I used senders and implementors like a mad to curve etoy. Stef
Ah, indeed, this works in a fresh image, and it is hard to reproduce.
However, if you read code (MessageSet >> #methodDisplayStringForClass:selector:), you will see that this line is wrong:
nextPutAll: (PackageOrganizer default mostSpecificPackageOfClass: class ifNone: '***') packageName ;
Potentially, it can send #packageName to '***'.
How did I trigger the ifNone: '***' ? I think it is because while patching SLICE-Mantis-6933-MultiByteFileStream-upTo-nice.1, I created a new category (MultilingualTests) with no corresponding package.
So create a class with a new category:
Object subclass: #AnUnpackagedClass instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'NimporteQuoi'
Then compile AnUnpackagedClass >> #triggerTheBug ^self binary
Then browse senders of binary... You see it?
That's a minor bug, but code must be changed.
Nicolas
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
I fixed that. I will publish a new update Stef On Oct 17, 2008, at 8:47 AM, nicolas cellier wrote:
Stéphane Ducasse <stephane.ducasse@...> writes:
Hi nicolas
This is strange because if I type binary and press alt N or Alt m I get them. Then if I do the same with #binary I do not get anything. can you tell me more? Because I used senders and implementors like a mad to curve etoy. Stef
Ah, indeed, this works in a fresh image, and it is hard to reproduce.
However, if you read code (MessageSet >> #methodDisplayStringForClass:selector:), you will see that this line is wrong:
nextPutAll: (PackageOrganizer default mostSpecificPackageOfClass: class ifNone: '***') packageName ;
Potentially, it can send #packageName to '***'.
How did I trigger the ifNone: '***' ? I think it is because while patching SLICE-Mantis-6933-MultiByteFileStream-upTo-nice.1, I created a new category (MultilingualTests) with no corresponding package.
So create a class with a new category:
Object subclass: #AnUnpackagedClass instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'NimporteQuoi'
Then compile AnUnpackagedClass >> #triggerTheBug ^self binary
Then browse senders of binary... You see it?
That's a minor bug, but code must be changed.
Nicolas
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (2)
-
nicolas cellier -
Stéphane Ducasse