RB and OB in Pharo 1.1 [WAS] Re: [Seaside] Loading Seaside 3.0 in Pharo 1.1

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

RB and OB in Pharo 1.1 [WAS] Re: [Seaside] Loading Seaside 3.0 in Pharo 1.1

Mariano Martinez Peck


Stef, Marcus and I also managed to get OB and RB work without
deprecated warnings in the latest Pharo 1.1.


Yes, I know. With the help of Alexandre and you, I am trying to release the first PharoDev 1.1....we are near ;)

Now, playing a little with RB I found a deprecated method send:

hasSpecialSelector: aSymbol  ifTrueSetByte:

You are using it in:

RBClass >> existingMethodsThatReferTo:

here:

    special := self realClass environment
        hasSpecialSelector: aSymbol
        ifTrueSetByte: [ :value | byte := value ].

the thing is that self realClass environment answer SystemDirectory but we should use Smalltalk / SmalltalkImage

THe fix is just:

    special := Smalltalk
        hasSpecialSelector: aSymbol
        ifTrueSetByte: [ :value | byte := value ].

???

In addition, is there a way to automatically check all the sends of deprecated methods? because there may be a lot...I just tried a Class Rename refactor and I found this one, but I am sure there are more..

Cheers

Mariano
 

Lukas

On 12 May 2010 23:09, Mariano Martinez Peck <[hidden email]> wrote:
> Hi folks. We are near to go (alpha?) to a first release of Pharo 1.1. I have
> started to try to load Seaside 3.0 on it and the first problem I had (there
> will be more for sure) is the famous problem with TheWorldMenu ;)
>
> WASqueakServerAdaptorBrowser  class >> initialize   of the package
> Seaside-Pharo-Tools-OmniBrowser
>
> It should use the new scheme with pragmas.  It would be great if this can be
> fixed. Sorry I cannot help.
>
> Cheers
>
> Mariano
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>



--
Lukas Renggli
www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: RB and OB in Pharo 1.1 [WAS] Re: [Seaside] Loading Seaside 3.0 in Pharo 1.1

Lukas Renggli
> Now, playing a little with RB I found a deprecated method send:
>
> hasSpecialSelector: aSymbol  ifTrueSetByte:
>
> You are using it in:
>
> RBClass >> existingMethodsThatReferTo:
>
> here:
>
>     special := self realClass environment
>         hasSpecialSelector: aSymbol
>         ifTrueSetByte: [ :value | byte := value ].
>
> the thing is that self realClass environment answer SystemDirectory but we
> should use Smalltalk / SmalltalkImage

You must be using a very old version of Refactoring-Core, this was
fixed quite some time ago.

> In addition, is there a way to automatically check all the sends of
> deprecated methods? because there may be a lot...I just tried a Class Rename
> refactor and I found this one, but I am sure there are more..

SmallLint finds some of them, but the rule should probably be improved.

Also running the tests can show you problems (given that the code is
all covered).

As I said, we fixed all the deprecated calls in Seaside 3.0, OB, RB,
eCompletion, Shout and PetitParser you just need to take the very
latest Pharo 1.1 and the very latest code of each package.

Lukas

--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: RB and OB in Pharo 1.1 [WAS] Re: [Seaside] Loading Seaside 3.0 in Pharo 1.1

Mariano Martinez Peck


On Thu, May 13, 2010 at 7:18 PM, Lukas Renggli <[hidden email]> wrote:
> Now, playing a little with RB I found a deprecated method send:
>
> hasSpecialSelector: aSymbol  ifTrueSetByte:
>
> You are using it in:
>
> RBClass >> existingMethodsThatReferTo:
>
> here:
>
>     special := self realClass environment
>         hasSpecialSelector: aSymbol
>         ifTrueSetByte: [ :value | byte := value ].
>
> the thing is that self realClass environment answer SystemDirectory but we
> should use Smalltalk / SmalltalkImage

You must be using a very old version of Refactoring-Core, this was
fixed quite some time ago.

Thanks Lukas. Yes, indeed I have a problem with my confs...

Now I saw a new package: AST-Semantic
Which are the dependecies of that package?
and who depends on it ?

So far I had:

            package: 'AST-Core';
            package: 'AST-Tests-Core' with: [ spec requires: 'AST-Core' ];
            package: 'Refactoring-Core' with: [ spec requires: 'AST-Core' ];
            package: 'Refactoring-Tests-Core' with: [ spec requires: 'Refactoring-Core' ];
            package: 'Refactoring-Spelling' with: [
                spec requires: 'Refactoring-Core'.
                spec postLoadDoIt: #postLoadRBSpelling ];
            package: 'Refactoring-Tests-Spelling' with: [ spec requires: 'Refactoring-Spelling'. ].


 

> In addition, is there a way to automatically check all the sends of
> deprecated methods? because there may be a lot...I just tried a Class Rename
> refactor and I found this one, but I am sure there are more..

SmallLint finds some of them, but the rule should probably be improved.

Also running the tests can show you problems (given that the code is
all covered).

As I said, we fixed all the deprecated calls in Seaside 3.0, OB, RB,
eCompletion, Shout and PetitParser you just need to take the very
latest Pharo 1.1 and the very latest code of each package.

Ok..perfect. Thanks!
 
Mariano


Lukas

--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: RB and OB in Pharo 1.1 [WAS] Re: [Seaside] Loading Seaside 3.0 in Pharo 1.1

Lukas Renggli
> Now I saw a new package: AST-Semantic
> Which are the dependecies of that package?

It depends on AST-Core.

> and who depends on it ?

Nobody at the moment. It can annotate the AST with semantic
information. For example, it can tell you if two variables refer to
the same thing. And it can tell you what kind of variables this is.
And where and in what scope it is defined. And where and in what
scopes it is read and written. And if it is shadowing or being
shadowed by other variables. Or if it is a special variable like
'self', something you cannot determine just by looking at the name.

The package might be useful to define some more sophisticated
transformation or refactoring. Currently I am using it in Helvetia,
but also the New Compiler and other tools might find it useful.

Lukas

--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: RB and OB in Pharo 1.1 [WAS] Re: [Seaside] Loading Seaside 3.0 in Pharo 1.1

Mariano Martinez Peck


On Thu, May 13, 2010 at 9:13 PM, Lukas Renggli <[hidden email]> wrote:
> Now I saw a new package: AST-Semantic
> Which are the dependecies of that package?

It depends on AST-Core.

Ok.
 

> and who depends on it ?

Nobody at the moment. It can annotate the AST with semantic
information. For example, it can tell you if two variables refer to
the same thing. And it can tell you what kind of variables this is.
And where and in what scope it is defined. And where and in what
scopes it is read and written. And if it is shadowing or being
shadowed by other variables. Or if it is a special variable like
'self', something you cannot determine just by looking at the name.

The package might be useful to define some more sophisticated
transformation or refactoring. Currently I am using it in Helvetia,
but also the New Compiler and other tools might find it useful.


Good to know. I add it for the moment.

Now, another problems while running tests:

Deprecation: The method ArrayedCollection asSortedArray has been deprecated.
Use asArray sort

in BogusDamage >> repairCategories:
 
Deprecation: The method Boolean and:and:and: has been deprecated.
Use and: instead

in BogusDamage >> repairMethod:

At least, they are easy to fix ;)

Cheers

Mariano



Lukas

--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: RB and OB in Pharo 1.1 [WAS] Re: [Seaside] Loading Seaside 3.0 in Pharo 1.1

Lukas Renggli
> Good to know. I add it for the moment.
>
> Now, another problems while running tests:
>
> Deprecation: The method ArrayedCollection asSortedArray has been deprecated.
> Use asArray sort
>
> in BogusDamage >> repairCategories:
>
> Deprecation: The method Boolean and:and:and: has been deprecated.
> Use and: instead
>
> in BogusDamage >> repairMethod:
>
> At least, they are easy to fix ;)

Sorry, I forgot to commit that, because the tests un-dirty it.

Lukas

--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: RB and OB in Pharo 1.1 [WAS] Re: [Seaside] Loading Seaside 3.0 in Pharo 1.1

Mariano Martinez Peck


On Fri, May 14, 2010 at 7:19 AM, Lukas Renggli <[hidden email]> wrote:
> Good to know. I add it for the moment.
>
> Now, another problems while running tests:
>
> Deprecation: The method ArrayedCollection asSortedArray has been deprecated.
> Use asArray sort
>
> in BogusDamage >> repairCategories:
>
> Deprecation: The method Boolean and:and:and: has been deprecated.
> Use and: instead
>
> in BogusDamage >> repairMethod:
>
> At least, they are easy to fix ;)

Sorry, I forgot to commit that, because the tests un-dirty it.


Don't worry. Thanks !

Mariano

 
Lukas

--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project