[Seaside-dev] Broken build because of use of #includesSubstring:

Sven Van Caekenberghe sven at stfx.eu
Sat Jan 12 22:42:56 UTC 2013


Julian,

On 12 Jan 2013, at 16:29, Julian Fitzell <jfitzell at gmail.com> wrote:

> On Fri, Jan 11, 2013 at 2:46 PM, Sven Van Caekenberghe <sven at stfx.eu> wrote:
> Hi Lukas,
> 
> On 11 Jan 2013, at 15:29, Lukas Renggli <renggli at gmail.com> wrote:
> 
> > Hi Ken,
> >
> > Looks like your change of #includesSubString: to #includesSubstring:
> > broke Seaside 3.1:
> >
> > http://jenkins.lukas-renggli.ch/job/Seaside%203.1/lastCompletedBuild/testReport/Seaside.Tests.Canvas/
> >
> > The same problem appeared in the past on other packages (Pier,
> > Magritte). Can you revert the change?
> 
> This is a catch-22 change for library/framework developers ;-)
> 
>  pre Pharo 2.0 there is #includesSubString:
>  post Pharo 2.0 there is #includesSubstring:
> 
> For a library/framework that targets both platforms such as Seaside (but just as well for all my projects, including Zinc, and probably every project out there) there are two options:
> 
>  follow the change
>  refuse the change
> 
> In the first case, a compatibility package has to define the new selector as an alias pre Pharo 2.0
> In the second case, a compatibility package has to define the old selector as an alias post Pharo 2.0 (and override the deprecation warning)
> 
> Both are valid choices/strategies, but one has to be chosen for Seaside.
> For my projects I chose option 1.
> 
> Sven
> 
> PS: I guess that #greaseIncludesSub[S|s]tring: would also be an option ;-)\
> 
> No need for a grease-specific selector - just need different versions of grease for Pharo 1 and Pharo 2 if people want both versions of Pharo supported.. Can't recall what other platforms use, but in general I prefer 'Substring' myself. 

There are Grease-Pharo-[10|11|20]-Core packages in SqS/Seaside31 so I guess the possibility to differentiate is there.

My point is however that the Seaside developers have to make a simple choice: keep the older #includesSubString: in the code base or switch to the newer (more logical) #includesSubstring:

Either choice is OK, just pick one so that we can get this trivial issue out of the way.

Sven




More information about the seaside-dev mailing list