refactoring browser in Squeak?

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

refactoring browser in Squeak?

Chris Muller-3
I want to rename some methods.  Does anyone know what the status of
the Refactoring Browser is in Squeak?

Back in May of this year, we had this script to get it going in OmniBrowser:

  http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150436.html

but, unfortunately, this script no longer works for me in either 4.1
or 4.2.  (Hence my advocacy in the past for real _configurations_).

One thing that changed was that Scanner>>#allowUnderscoreAsAssignment
was renamed to #prefAllowUnderscoreAssignments.  Does anyone know why
this selector was changed, and whether we can change it back?  Besides
the breakage, the new "pref" prefix seems inconsistent..

Updating that sender to prefAllowUnderscoreAssignments in a stock
Squeak 4.1 then gets a bit further to:

This package depends on the following classes:
  RBBlockLintRule
You must resolve these dependencies before you will be able to load
these definitions:
  RBArgumentVariableNamesSpellingRule
  RBArgumentVariableNamesSpellingRule>>checkMethod:
  RBArgumentVariableNamesSpellingRule>>name
  RBClassCategoriesSpellingRule
  RBClassCategoriesSpellingRule>>checkClass:
  RBClassCategoriesSpellingRule>>name
  RBClassCategoriesSpellingRule>>resultClass
  RBClassCommentsSpellingRule
  RBClassCommentsSpellingRule>>checkClass:
  RBClassCommentsSpellingRule>>name
  RBClassCommentsSpellingRule>>resultClass
  RBClassNamesSpellingRule
  RBClassNamesSpellingRule>>checkClass:
  RBClassNamesSpellingRule>>name
  RBClassNamesSpellingRule>>resultClass
  RBClassVariableNamesSpellingRule
  RBClassVariableNamesSpellingRule>>checkClass:
  RBClassVariableNamesSpellingRule>>name
  RBClassVariableNamesSpellingRule>>resultClass
  RBInstanceVariableNamesSpellingRule
  RBInstanceVariableNamesSpellingRule>>checkClass:
  RBInstanceVariableNamesSpellingRule>>name
  RBInstanceVariableNamesSpellingRule>>resultClass
  RBLiteralValuesSpellingRule
  RBLiteralValuesSpellingRule>>add:to:
  RBLiteralValuesSpellingRule>>checkMethod:
  RBLiteralValuesSpellingRule>>initialize
  RBLiteralValuesSpellingRule>>name
  RBMethodCommentsSpellingRule
  RBMethodCommentsSpellingRule>>checkMethod:
  RBMethodCommentsSpellingRule>>name
  RBMethodProtocolsSpellingRule
  RBMethodProtocolsSpellingRule>>checkClass:
  RBMethodProtocolsSpellingRule>>name
  RBMethodProtocolsSpellingRule>>resultClass
  RBMethodSelectorsSpellingRule
  RBMethodSelectorsSpellingRule>>checkMethod:
  RBMethodSelectorsSpellingRule>>name
  RBSpellingRule
  RBSpellingRule classSide>>isVisible
  RBSpellingRule>>check:
  RBSpellingRule>>checkIdentifier:
  RBSpellingRule>>checkLiteral:
  RBSpellingRule>>checkSelector:
  RBSpellingRule>>group
  RBSpellingRule>>normalizeCamelCase:
  RBSpellingRule>>normalizeIdentifier:
  RBSpellingRule>>normalizeLiteral:
  RBSpellingRule>>normalizeLiteral:on:
  RBSpellingRule>>normalizeSelector:
  RBSpellingRule>>rationale
  RBSpellingRule>>severity
  RBTemporaryVariableNamesSpellingRule
  RBTemporaryVariableNamesSpellingRule>>checkMethod:
  RBTemporaryVariableNamesSpellingRule>>name

Select Proceed to continue, or close this window to cancel the operation.

I just want to rename some methods.  Any help is greatly appreciated.

  - Chris

Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Tim Felgentreff
We're currently compiling a set of changes that will allow OB and Refactory to work again in their latest respective versions. I'll test them and put them up on the ML/Inbox later today.

I talked with Lukas today about a possible OB-SqueakCompat package, what would the community think about that?

Regards
Tim

On Oct 25, 2010, at 5:34 PM, Chris Muller wrote:

> I want to rename some methods.  Does anyone know what the status of
> the Refactoring Browser is in Squeak?
>
> Back in May of this year, we had this script to get it going in OmniBrowser:
>
>  http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150436.html
>
> but, unfortunately, this script no longer works for me in either 4.1
> or 4.2.  (Hence my advocacy in the past for real _configurations_).
>
> One thing that changed was that Scanner>>#allowUnderscoreAsAssignment
> was renamed to #prefAllowUnderscoreAssignments.  Does anyone know why
> this selector was changed, and whether we can change it back?  Besides
> the breakage, the new "pref" prefix seems inconsistent..
>
> Updating that sender to prefAllowUnderscoreAssignments in a stock
> Squeak 4.1 then gets a bit further to:
>
> This package depends on the following classes:
>  RBBlockLintRule
> You must resolve these dependencies before you will be able to load
> these definitions:
>  RBArgumentVariableNamesSpellingRule
>  RBArgumentVariableNamesSpellingRule>>checkMethod:
>  RBArgumentVariableNamesSpellingRule>>name
>  RBClassCategoriesSpellingRule
>  RBClassCategoriesSpellingRule>>checkClass:
>  RBClassCategoriesSpellingRule>>name
>  RBClassCategoriesSpellingRule>>resultClass
>  RBClassCommentsSpellingRule
>  RBClassCommentsSpellingRule>>checkClass:
>  RBClassCommentsSpellingRule>>name
>  RBClassCommentsSpellingRule>>resultClass
>  RBClassNamesSpellingRule
>  RBClassNamesSpellingRule>>checkClass:
>  RBClassNamesSpellingRule>>name
>  RBClassNamesSpellingRule>>resultClass
>  RBClassVariableNamesSpellingRule
>  RBClassVariableNamesSpellingRule>>checkClass:
>  RBClassVariableNamesSpellingRule>>name
>  RBClassVariableNamesSpellingRule>>resultClass
>  RBInstanceVariableNamesSpellingRule
>  RBInstanceVariableNamesSpellingRule>>checkClass:
>  RBInstanceVariableNamesSpellingRule>>name
>  RBInstanceVariableNamesSpellingRule>>resultClass
>  RBLiteralValuesSpellingRule
>  RBLiteralValuesSpellingRule>>add:to:
>  RBLiteralValuesSpellingRule>>checkMethod:
>  RBLiteralValuesSpellingRule>>initialize
>  RBLiteralValuesSpellingRule>>name
>  RBMethodCommentsSpellingRule
>  RBMethodCommentsSpellingRule>>checkMethod:
>  RBMethodCommentsSpellingRule>>name
>  RBMethodProtocolsSpellingRule
>  RBMethodProtocolsSpellingRule>>checkClass:
>  RBMethodProtocolsSpellingRule>>name
>  RBMethodProtocolsSpellingRule>>resultClass
>  RBMethodSelectorsSpellingRule
>  RBMethodSelectorsSpellingRule>>checkMethod:
>  RBMethodSelectorsSpellingRule>>name
>  RBSpellingRule
>  RBSpellingRule classSide>>isVisible
>  RBSpellingRule>>check:
>  RBSpellingRule>>checkIdentifier:
>  RBSpellingRule>>checkLiteral:
>  RBSpellingRule>>checkSelector:
>  RBSpellingRule>>group
>  RBSpellingRule>>normalizeCamelCase:
>  RBSpellingRule>>normalizeIdentifier:
>  RBSpellingRule>>normalizeLiteral:
>  RBSpellingRule>>normalizeLiteral:on:
>  RBSpellingRule>>normalizeSelector:
>  RBSpellingRule>>rationale
>  RBSpellingRule>>severity
>  RBTemporaryVariableNamesSpellingRule
>  RBTemporaryVariableNamesSpellingRule>>checkMethod:
>  RBTemporaryVariableNamesSpellingRule>>name
>
> Select Proceed to continue, or close this window to cancel the operation.
>
> I just want to rename some methods.  Any help is greatly appreciated.
>
>  - Chris
>


Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

LawsonEnglish
In reply to this post by Chris Muller-3
On 10/25/10 8:34 AM, Chris Muller wrote:

> I want to rename some methods.  Does anyone know what the status of
> the Refactoring Browser is in Squeak?
>
> Back in May of this year, we had this script to get it going in OmniBrowser:
>
>    http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150436.html
>
> but, unfortunately, this script no longer works for me in either 4.1
> or 4.2.  (Hence my advocacy in the past for real _configurations_).
>

Tobias Pape left this in the Squeak Users mailing list:

Installer squeaksource
     project: 'MetacelloRepository';
     install: 'ConfigurationOfOmniBrowser'.
(Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #(
Dev ).


Works ok for me with 4.1....


Lawson


Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Tobias Pape
Am 2010-10-25 um 17:46 schrieb Lawson English:

> On 10/25/10 8:34 AM, Chris Muller wrote:
>> I want to rename some methods.  Does anyone know what the status of
>> the Refactoring Browser is in Squeak?
>>
>> Back in May of this year, we had this script to get it going in OmniBrowser:
>>
>>   http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150436.html
>>
>> but, unfortunately, this script no longer works for me in either 4.1
>> or 4.2.  (Hence my advocacy in the past for real _configurations_).
>>
>
> Tobias Pape left this in the Squeak Users mailing list:
>
> Installer squeaksource
>    project: 'MetacelloRepository';
>    install: 'ConfigurationOfOmniBrowser'.
> (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).
>
>
> Works ok for me with 4.1....


Incidentally, please wait for the announcement of Tim, the Config above
is referring to things he is fixing right now.

So Long,
        -Tobias
Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Tim Felgentreff
In reply to this post by Tim Felgentreff
Hello

There are currently two packages in the inbox (Kernel-topa.508, Compiler-tfel.175) which enable AST, Refactoring-*, VB-Regex and the useful OB packages (Standard, Core, Morphic, Regex, Refactory, Shout) to load in trunk.

Attached you will find a ChangeSet that, if applied after loading all of the packages, fixes all but 12 failures and 1 error in the aforementioned packages' tests.

Regards
Tim



On Oct 25, 2010, at 5:58 PM, Lawson English wrote:

> On 10/25/10 8:38 AM, Tim Felgentreff wrote:
>> We're currently compiling a set of changes that will allow OB and Refactory to work again in their latest respective versions. I'll test them and put them up on the ML/Inbox later today.
>>
>> I talked with Lukas today about a possible OB-SqueakCompat package, what would the community think about that?
>>
>> Regards
>> Tim
>>
> I don't know if you saw my recent comment about the browser behavior. In Squeak 4.1 the version of OmniBrowser loaded by this script:
>
> Installer squeaksource
>>     project: 'MetacelloRepository';
>>     install: 'ConfigurationOfOmniBrowser'.
>> (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).
>
>
> works differently when PRDistribution or subclasses of PRDistribtion are highlighted.
>
> Like as not, its part of other issues you are already working on, but just in case it's not...
>
>
> Lawson
>
>
>



OB-SqueakTesting-fixes.3.cs (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Please Add To Trunk (was: refactoring browser in Squeak?)

Tobias Pape
Am 2010-10-25 um 18:08 schrieb Tim Felgentreff:
> Kernel-topa.508, Compiler-tfel.175

Has anybody objections to these two packages moving to trunk?
If not, please, can a trunk developer integrate them?

Thanks and
So Long,
        -Tobias

Reply | Threaded
Open this post in threaded view
|

Re: Please Add To Trunk (was: refactoring browser in Squeak?)

Eliot Miranda-2
Hi Tobias,

On Wed, Oct 27, 2010 at 7:36 AM, Tobias Pape <[hidden email]> wrote:
Am 2010-10-25 um 18:08 schrieb Tim Felgentreff:
> Kernel-topa.508, Compiler-tfel.175

regarding  Compiler-tfel.175 I don't dee the point of this change.  The preference is already called Preferences>allowUnderscoreAssignment so if the idea is to move to a pragma-based preference more needs to be done, and I would call the method Scanner class>>allowUnderscoreAssignment, not add two extra selectors #allowUnderscoreAsAssignment and #prefAllowUnderscoreAssignments.  What do these add except confusion?

best
Eliot


Has anybody objections to these two packages moving to trunk?
If not, please, can a trunk developer integrate them?

Thanks and
So Long,
       -Tobias




Reply | Threaded
Open this post in threaded view
|

Re: Please Add To Trunk (was: refactoring browser in Squeak?)

Levente Uzonyi-2
On Wed, 27 Oct 2010, Eliot Miranda wrote:

> Hi Tobias,
>
> On Wed, Oct 27, 2010 at 7:36 AM, Tobias Pape <[hidden email]> wrote:
>
>> Am 2010-10-25 um 18:08 schrieb Tim Felgentreff:
>>> Kernel-topa.508, Compiler-tfel.175
>>
>
> regarding  Compiler-tfel.175 I don't dee the point of this change.  The
> preference is already called Preferences>allowUnderscoreAssignment so if the
> idea is to move to a pragma-based preference more needs to be done, and I
> would call the method Scanner class>>allowUnderscoreAssignment, not add two
> extra selectors #allowUnderscoreAsAssignment and
> #prefAllowUnderscoreAssignments.  What do these add except confusion?

In Pharo the preference accessor is called #allowUnderscoreAsAssignment in
Squeak it's #prefAllowUnderscoreAssignments. The OB code uses the Pharo
version, since OB is developed for Pharo. So there are three choices:
- add Compiler-tfel.175 to the Trunk
- rename the preference accessor in Squeak to #allowUnderscoreAsAssignment
- add a Squeak compatibility package for OB which implements this method
as in Compiler-tfel.175


Levente

>
> best
> Eliot
>
>
>> Has anybody objections to these two packages moving to trunk?
>> If not, please, can a trunk developer integrate them?
>>
>> Thanks and
>> So Long,
>>         -Tobias
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Please Add To Trunk (was: refactoring browser in Squeak?)

Tobias Pape
Am 2010-10-27 um 22:52 schrieb Levente Uzonyi:

> On Wed, 27 Oct 2010, Eliot Miranda wrote:
>
>> Hi Tobias,
>>
>> On Wed, Oct 27, 2010 at 7:36 AM, Tobias Pape <[hidden email]> wrote:
>>
>>> Am 2010-10-25 um 18:08 schrieb Tim Felgentreff:
>>>> Kernel-topa.508, Compiler-tfel.175
>>>
>>
>> regarding  Compiler-tfel.175 I don't dee the point of this change.  The
>> preference is already called Preferences>allowUnderscoreAssignment so if the
>> idea is to move to a pragma-based preference more needs to be done, and I
>> would call the method Scanner class>>allowUnderscoreAssignment, not add two
>> extra selectors #allowUnderscoreAsAssignment and
>> #prefAllowUnderscoreAssignments.  What do these add except confusion?
>
> In Pharo the preference accessor is called #allowUnderscoreAsAssignment in Squeak it's #prefAllowUnderscoreAssignments. The OB code uses the Pharo version, since OB is developed for Pharo. So there are three choices:
> - add Compiler-tfel.175 to the Trunk
> - rename the preference accessor in Squeak to #allowUnderscoreAsAssignment
> - add a Squeak compatibility package for OB which implements this method as in Compiler-tfel.175
>


Personally, I'm fine with either version, where the last one requires
someone to be in charge of this Compat package. note that this message
is required for AST, not OB directly, which does not make the whole thing
easier.

So Long,
        -Tobias


Reply | Threaded
Open this post in threaded view
|

Re: Please Add To Trunk (was: refactoring browser in Squeak?)

Eliot Miranda-2
In reply to this post by Levente Uzonyi-2


On Wed, Oct 27, 2010 at 1:52 PM, Levente Uzonyi <[hidden email]> wrote:
On Wed, 27 Oct 2010, Eliot Miranda wrote:

Hi Tobias,

On Wed, Oct 27, 2010 at 7:36 AM, Tobias Pape <[hidden email]> wrote:

Am 2010-10-25 um 18:08 schrieb Tim Felgentreff:
Kernel-topa.508, Compiler-tfel.175


regarding  Compiler-tfel.175 I don't dee the point of this change.  The
preference is already called Preferences>allowUnderscoreAssignment so if the
idea is to move to a pragma-based preference more needs to be done, and I
would call the method Scanner class>>allowUnderscoreAssignment, not add two
extra selectors #allowUnderscoreAsAssignment and
#prefAllowUnderscoreAssignments.  What do these add except confusion?

In Pharo the preference accessor is called #allowUnderscoreAsAssignment in Squeak it's #prefAllowUnderscoreAssignments. The OB code uses the Pharo version, since OB is developed for Pharo. So there are three choices:
- add Compiler-tfel.175 to the Trunk
- rename the preference accessor in Squeak to #allowUnderscoreAsAssignment
- add a Squeak compatibility package for OB which implements this method as in Compiler-tfel.175

Off the top of my head, only the latter makes sense.  There are no senders of allowUnderscoreAsAssignment in the base Compiler package so one would be tempted to delete it.  Why can't it be an extension in OB?



Levente



best
Eliot


Has anybody objections to these two packages moving to trunk?
If not, please, can a trunk developer integrate them?

Thanks and
So Long,
       -Tobias







Reply | Threaded
Open this post in threaded view
|

Re: Please Add To Trunk (was: refactoring browser in Squeak?)

Tobias Pape
Am 2010-10-27 um 23:09 schrieb Eliot Miranda:

>
>
>
> On Wed, Oct 27, 2010 at 1:52 PM, Levente Uzonyi <[hidden email]> wrote:
> On Wed, 27 Oct 2010, Eliot Miranda wrote:
>
> Hi Tobias,
>
> On Wed, Oct 27, 2010 at 7:36 AM, Tobias Pape <[hidden email]> wrote:
>
> Am 2010-10-25 um 18:08 schrieb Tim Felgentreff:
> Kernel-topa.508, Compiler-tfel.175
>
>
> regarding  Compiler-tfel.175 I don't dee the point of this change.  The
> preference is already called Preferences>allowUnderscoreAssignment so if the
> idea is to move to a pragma-based preference more needs to be done, and I
> would call the method Scanner class>>allowUnderscoreAssignment, not add two
> extra selectors #allowUnderscoreAsAssignment and
> #prefAllowUnderscoreAssignments.  What do these add except confusion?
>
> In Pharo the preference accessor is called #allowUnderscoreAsAssignment in Squeak it's #prefAllowUnderscoreAssignments. The OB code uses the Pharo version, since OB is developed for Pharo. So there are three choices:
> - add Compiler-tfel.175 to the Trunk
> - rename the preference accessor in Squeak to #allowUnderscoreAsAssignment
> - add a Squeak compatibility package for OB which implements this method as in Compiler-tfel.175
>
> Off the top of my head, only the latter makes sense.  There are no senders of allowUnderscoreAsAssignment in the base Compiler package so one would be tempted to delete it.  Why can't it be an extension in OB?

Because its about AST ;)

SCNR
        -Tobias


Reply | Threaded
Open this post in threaded view
|

Re: Please Add To Trunk (was: refactoring browser in Squeak?)

Eliot Miranda-2


On Wed, Oct 27, 2010 at 2:21 PM, Tobias Pape <[hidden email]> wrote:
Am 2010-10-27 um 23:09 schrieb Eliot Miranda:
>
>
>
> On Wed, Oct 27, 2010 at 1:52 PM, Levente Uzonyi <[hidden email]> wrote:
> On Wed, 27 Oct 2010, Eliot Miranda wrote:
>
> Hi Tobias,
>
> On Wed, Oct 27, 2010 at 7:36 AM, Tobias Pape <[hidden email]> wrote:
>
> Am 2010-10-25 um 18:08 schrieb Tim Felgentreff:
> Kernel-topa.508, Compiler-tfel.175
>
>
> regarding  Compiler-tfel.175 I don't dee the point of this change.  The
> preference is already called Preferences>allowUnderscoreAssignment so if the
> idea is to move to a pragma-based preference more needs to be done, and I
> would call the method Scanner class>>allowUnderscoreAssignment, not add two
> extra selectors #allowUnderscoreAsAssignment and
> #prefAllowUnderscoreAssignments.  What do these add except confusion?
>
> In Pharo the preference accessor is called #allowUnderscoreAsAssignment in Squeak it's #prefAllowUnderscoreAssignments. The OB code uses the Pharo version, since OB is developed for Pharo. So there are three choices:
> - add Compiler-tfel.175 to the Trunk
> - rename the preference accessor in Squeak to #allowUnderscoreAsAssignment
> - add a Squeak compatibility package for OB which implements this method as in Compiler-tfel.175
>
> Off the top of my head, only the latter makes sense.  There are no senders of allowUnderscoreAsAssignment in the base Compiler package so one would be tempted to delete it.  Why can't it be an extension in OB?

Because its about AST ;)

So why not an extension in AST?  :)
 

SCNR
       -Tobias





Reply | Threaded
Open this post in threaded view
|

Re: Please Add To Trunk (was: refactoring browser in Squeak?)

Tobias Pape
Am 2010-10-27 um 23:25 schrieb Eliot Miranda:
>
>
> > Off the top of my head, only the latter makes sense.  There are no senders of allowUnderscoreAsAssignment in the base Compiler package so one would be tempted to delete it.  Why can't it be an extension in OB?
>
> Because its about AST ;)
>
> So why not an extension in AST?  :)
>  

Where would you put that, better, where would you put AST-Core-Squeak…?
or how one should name it…

So Long,
        -Tobias
Reply | Threaded
Open this post in threaded view
|

Re: Please Add To Trunk

Andreas.Raab
In reply to this post by Eliot Miranda-2
On 10/27/2010 2:09 PM, Eliot Miranda wrote:

>     In Pharo the preference accessor is called
>     #allowUnderscoreAsAssignment in Squeak it's
>     #prefAllowUnderscoreAssignments. The OB code uses the Pharo version,
>     since OB is developed for Pharo. So there are three choices:
>     - add Compiler-tfel.175 to the Trunk
>     - rename the preference accessor in Squeak to
>     #allowUnderscoreAsAssignment
>     - add a Squeak compatibility package for OB which implements this
>     method as in Compiler-tfel.175
>
>
> Off the top of my head, only the latter makes sense.  There are no
> senders of allowUnderscoreAsAssignment in the base Compiler package so
> one would be tempted to delete it.  Why can't it be an extension in OB?

Why not rename it? There is little reason to insist that the preference
accessor must be called exactly this or that.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: Please Add To Trunk (was: refactoring browser in Squeak?)

Eliot Miranda-2
In reply to this post by Tobias Pape


On Wed, Oct 27, 2010 at 2:39 PM, Tobias Pape <[hidden email]> wrote:
Am 2010-10-27 um 23:25 schrieb Eliot Miranda:
>
>
> > Off the top of my head, only the latter makes sense.  There are no senders of allowUnderscoreAsAssignment in the base Compiler package so one would be tempted to delete it.  Why can't it be an extension in OB?
>
> Because its about AST ;)
>
> So why not an extension in AST?  :)
>

Where would you put that, better, where would you put AST-Core-Squeak…?
or how one should name it…

That's not my question to answer.  But why add a method with no senders in Compiler, that is needed by AST (and transitively by OB) to Compiler rather than somewhere appropriate in AST?

best,
Eliot
 

So Long,
       -Tobias



Reply | Threaded
Open this post in threaded view
|

Re: Please Add To Trunk

Bert Freudenberg
In reply to this post by Andreas.Raab

On 27.10.2010, at 23:43, Andreas Raab wrote:

> On 10/27/2010 2:09 PM, Eliot Miranda wrote:
>>    In Pharo the preference accessor is called
>>    #allowUnderscoreAsAssignment in Squeak it's
>>    #prefAllowUnderscoreAssignments. The OB code uses the Pharo version,
>>    since OB is developed for Pharo. So there are three choices:
>>    - add Compiler-tfel.175 to the Trunk
>>    - rename the preference accessor in Squeak to
>>    #allowUnderscoreAsAssignment
>>    - add a Squeak compatibility package for OB which implements this
>>    method as in Compiler-tfel.175
>>
>>
>> Off the top of my head, only the latter makes sense.  There are no
>> senders of allowUnderscoreAsAssignment in the base Compiler package so
>> one would be tempted to delete it.  Why can't it be an extension in OB?
>
> Why not rename it? There is little reason to insist that the preference accessor must be called exactly this or that.
>
> Cheers,
>  - Andreas

+1

Just use the Pharo selector. No need to differ unless there is a good reason.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Levente Uzonyi-2
In reply to this post by Tim Felgentreff
On Mon, 25 Oct 2010, Tim Felgentreff wrote:

> Hello
>
> There are currently two packages in the inbox (Kernel-topa.508, Compiler-tfel.175) which enable AST, Refactoring-*, VB-Regex and the useful OB packages (Standard, Core, Morphic, Regex, Refactory, Shout) to load in trunk.

The changes are in the Trunk, but if I evaluate this script:

Installer squeaksource
     project: 'MetacelloRepository';
     install: 'ConfigurationOfOmniBrowser'.
(Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).

and file in your changeset, I still can't use the "browse package"
feature. I think this is because the latest RB on squeaksource is not
compatibile with the OB in the wiresong repository. Lukas uses his own
OB repository for developement.


Levente

>
> Attached you will find a ChangeSet that, if applied after loading all of the packages, fixes all but 12 failures and 1 error in the aforementioned packages' tests.
>
> Regards
> Tim
>

Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Tim Felgentreff
Yes, but we cannot use Lukas' versions - they are dependent on polymorph.

On Oct 28, 2010, at 4:18 PM, Levente Uzonyi wrote:

> On Mon, 25 Oct 2010, Tim Felgentreff wrote:
>
>> Hello
>>
>> There are currently two packages in the inbox (Kernel-topa.508, Compiler-tfel.175) which enable AST, Refactoring-*, VB-Regex and the useful OB packages (Standard, Core, Morphic, Regex, Refactory, Shout) to load in trunk.
>
> The changes are in the Trunk, but if I evaluate this script:
>
> Installer squeaksource
>    project: 'MetacelloRepository';
>    install: 'ConfigurationOfOmniBrowser'.
> (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).
>
> and file in your changeset, I still can't use the "browse package" feature. I think this is because the latest RB on squeaksource is not compatibile with the OB in the wiresong repository. Lukas uses his own OB repository for developement.
>
>
> Levente
>
>>
>> Attached you will find a ChangeSet that, if applied after loading all of the packages, fixes all but 12 failures and 1 error in the aforementioned packages' tests.
>>
>> Regards
>> Tim
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Tim Felgentreff
Also: Hmmm. Works here... Any errors?

On Oct 28, 2010, at 5:01 PM, Tim Felgentreff wrote:

> Yes, but we cannot use Lukas' versions - they are dependent on polymorph.
>
> On Oct 28, 2010, at 4:18 PM, Levente Uzonyi wrote:
>
>> On Mon, 25 Oct 2010, Tim Felgentreff wrote:
>>
>>> Hello
>>>
>>> There are currently two packages in the inbox (Kernel-topa.508, Compiler-tfel.175) which enable AST, Refactoring-*, VB-Regex and the useful OB packages (Standard, Core, Morphic, Regex, Refactory, Shout) to load in trunk.
>>
>> The changes are in the Trunk, but if I evaluate this script:
>>
>> Installer squeaksource
>>   project: 'MetacelloRepository';
>>   install: 'ConfigurationOfOmniBrowser'.
>> (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).
>>
>> and file in your changeset, I still can't use the "browse package" feature. I think this is because the latest RB on squeaksource is not compatibile with the OB in the wiresong repository. Lukas uses his own OB repository for developement.
>>
>>
>> Levente
>>
>>>
>>> Attached you will find a ChangeSet that, if applied after loading all of the packages, fixes all but 12 failures and 1 error in the aforementioned packages' tests.
>>>
>>> Regards
>>> Tim
>>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Levente Uzonyi-2
On Thu, 28 Oct 2010, Tim Felgentreff wrote:

> Also: Hmmm. Works here... Any errors?

It's a DNU. The relevant part of the stack trace is here:

ORPackageBrowser(Object)>>doesNotUnderstand: #definitionPanel
  Receiver: an ORPackageBrowser
  Arguments and temporary variables:
  aMessage: definitionPanel
  exception: MessageNotUnderstood: ORPackageBrowser>>definitionPanel
  resumeValue: nil
  Receiver's instance variables:
  panels: an OrderedCollection(an OBMercuryPanel an OBColumnPanel an OBFixedButto...etc...
  announcer: an OBAnnouncer
  cmdFactories: {OBCmdNewClassTemplate . ORCmdRefactoringRedo . ORCmdRefactoringU...etc...
  hasChanges: nil

ORPackageBrowser(OREnvironmentBrowser)>>selectionChanged:
  Receiver: an ORPackageBrowser
  Arguments and temporary variables:
  anAnnouncement: an OBSelectionChanged
  interval: nil
  Receiver's instance variables:
  panels: an OrderedCollection(an OBMercuryPanel an OBColumnPanel an OBFixedButto...etc...
  announcer: an OBAnnouncer
  cmdFactories: {OBCmdNewClassTemplate . ORCmdRefactoringRedo . ORCmdRefactoringU...etc...
  hasChanges: nil

It I change the implementation to:

OREnvironmentBrowser >> selectionChanged: anAnnouncement
  | interval |
  interval := self environment selectionIntervalFor: self class definitionPanel text.
  interval isNil ifFalse: [ self definitionPanel selection: interval ]

then it works.


Levente

>
> On Oct 28, 2010, at 5:01 PM, Tim Felgentreff wrote:
>
>> Yes, but we cannot use Lukas' versions - they are dependent on polymorph.
>>
>> On Oct 28, 2010, at 4:18 PM, Levente Uzonyi wrote:
>>
>>> On Mon, 25 Oct 2010, Tim Felgentreff wrote:
>>>
>>>> Hello
>>>>
>>>> There are currently two packages in the inbox (Kernel-topa.508, Compiler-tfel.175) which enable AST, Refactoring-*, VB-Regex and the useful OB packages (Standard, Core, Morphic, Regex, Refactory, Shout) to load in trunk.
>>>
>>> The changes are in the Trunk, but if I evaluate this script:
>>>
>>> Installer squeaksource
>>>   project: 'MetacelloRepository';
>>>   install: 'ConfigurationOfOmniBrowser'.
>>> (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).
>>>
>>> and file in your changeset, I still can't use the "browse package" feature. I think this is because the latest RB on squeaksource is not compatibile with the OB in the wiresong repository. Lukas uses his own OB repository for developement.
>>>
>>>
>>> Levente
>>>
>>>>
>>>> Attached you will find a ChangeSet that, if applied after loading all of the packages, fixes all but 12 failures and 1 error in the aforementioned packages' tests.
>>>>
>>>> Regards
>>>> Tim
>>>>
>>>
>>
>>
>
>
>

12