If I file out Collections-SkipLists from Cuis (1.0) and try to file in the result to Squeak (3.10 beta), I get an error:
Nothing more expected ->classDefinition: #SkipList category: #'Collections-SkipLists'
Skip lists is just an example; filing in to Squeak from Cuis doesn't work for anything I tried. This is broken, right?
Hi.
R. Clayton wrote:
If I file out Collections-SkipLists from Cuis (1.0) and try to file in the result to Squeak (3.10 beta), I get an error:
Nothing more expected ->classDefinition: #SkipList category: #'Collections-SkipLists'
Skip lists is just an example; filing in to Squeak from Cuis doesn't work for anything I tried. This is broken, right?
Squeak change sets do class definitions via doits. In addition to the doIt, Cuis supports a new type of change, ClassDefinition. But the doIt is also generated. So what you need to do is to remove those changes that start 'preamble: classDefinition'. After that, everything should work ok.
Cheers, Juan Vuletich
So what you need to do is to remove those changes that start preamble: classDefinition'. After that, everything should work ok.
In unix talk,
$ sed 's/!classDefinition:[^!]*!//g' < cuis.st > squeak.st
$
did the trick. Thanks.
On Wed, 10 Jun 2009 23:45:09 +0200, Juan Vuletich wrote:
Hi.
R. Clayton wrote:
If I file out Collections-SkipLists from Cuis (1.0) and try to file in the result to Squeak (3.10 beta), I get an error:
Nothing more expected ->classDefinition: #SkipList category: #'Collections-SkipLists'
Skip lists is just an example; filing in to Squeak from Cuis doesn't work for anything I tried. This is broken, right?
Squeak change sets do class definitions via doits. In addition to the doIt, Cuis supports a new type of change, ClassDefinition.
How do you mean that? It is just a line with invalid syntax in a file that pretends to be part of the Smalltalk world (ya know: receiver and message selector and things). Example generated by Cuis:
!classDefinition: #Imports category: #'System-Support'!
Wouldn't it be easier to stick with the Smalltalk way of formulating messages, like
!nil classDefinition: #Imports category: #'System-Support'!
and then supply an implementor of #classDefinition:category: which is also good documentation (ya know: alt-m and alt-W and things).
?
But the doIt is also generated. So what you need to do is to remove those changes that start 'preamble: classDefinition'. After that, everything should work ok.
Cheers, Juan Vuletich
Klaus D. Witzel wrote:
On Wed, 10 Jun 2009 23:45:09 +0200, Juan Vuletich wrote:
Hi.
R. Clayton wrote:
If I file out Collections-SkipLists from Cuis (1.0) and try to file in the result to Squeak (3.10 beta), I get an error:
Nothing more expected ->classDefinition: #SkipList category: #'Collections-SkipLists'
Skip lists is just an example; filing in to Squeak from Cuis doesn't work for anything I tried. This is broken, right?
Squeak change sets do class definitions via doits. In addition to the doIt, Cuis supports a new type of change, ClassDefinition.
How do you mean that? It is just a line with invalid syntax in a file that pretends to be part of the Smalltalk world (ya know: receiver and message selector and things). Example generated by Cuis:
!classDefinition: #Imports category: #'System-Support'!
Wouldn't it be easier to stick with the Smalltalk way of formulating messages, like
!nil classDefinition: #Imports category: #'System-Support'!
and then supply an implementor of #classDefinition:category: which is also good documentation (ya know: alt-m and alt-W and things).
?
In Squeak, change sets support several types: #method, #classComment, #doit, #preamble. I don't like #doIts because a ChangeList can't do 'remove up-to-date versions' with them. So I just added #classDefinition. Some day I'd also add #methodRemove and #classRemove for the same reasons.
But the doIt is also generated. So what you need to do is to remove those changes that start 'preamble: classDefinition'. After that, everything should work ok.
Cheers, Juan Vuletich
squeak-dev@lists.squeakfoundation.org