String>>match: broken

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

String>>match: broken

Janko Mivšek
Hi Squeakers,

Latest trunk version broke the Aida/web and Herbert managed to find the
reason in new behavior of String>>match: which doesn't allow two '**' in
pattern anymore. In Aida the matching patterns are usually composed out
of many strings and as it happens two stars occurs in Aida's default
installation already.

Because this new match behavior (not allowing two '**') is new only in
Squeak but allowed in all other Smalltalks, I propose to reconsider this
decision and better retract back to old behavior.

Best regards
Janko


--
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Re: String>>match: broken

Levente Uzonyi-2
On Sat, 15 Jan 2011, Janko Mivšek wrote:

> Hi Squeakers,
>
> Latest trunk version broke the Aida/web and Herbert managed to find the
> reason in new behavior of String>>match: which doesn't allow two '**' in
> pattern anymore. In Aida the matching patterns are usually composed out
> of many strings and as it happens two stars occurs in Aida's default
> installation already.
>
> Because this new match behavior (not allowing two '**') is new only in
> Squeak but allowed in all other Smalltalks, I propose to reconsider this
> decision and better retract back to old behavior.
The old behavior was definitely wrong. Here are two examples with the
old behavior from the corresponding issue
(http://bugs.squeak.org/view.php?id=6841 ):

'*#' match: 'e'. "false"
'**' match: 'e'. "false"

If you look at the previous version of the method from 2004 (I don't know
if this is the original or not), then you'll see that it tried to raise an
error if the string contained '**', but it failed to do so because of this
bug. So the intended behavior - to disallow ** in the pattern - is not new
at all.

IMHO the best solution to this problem is to rewrite the method to allow
any combination of * and # in the pattern.


Levente

>
> Best regards
> Janko
>
>
> --
> Janko Mivšek
> AIDA/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
>
>

Reply | Threaded
Open this post in threaded view
|

Re: String>>match: broken

Herbert König
In reply to this post by Janko Mivšek
Hello Janko,

JM> Because this new match behavior (not allowing two '**') is new only in
JM> Squeak but allowed in all other Smalltalks, I propose to reconsider this
JM> decision and better retract back to old behavior.

it's not that easy.

The change was intended to be a real fix. The comment in the 1998
version already states '**' not being allowed. And with the old
version:

'http*' match: 'httpgaga' returns true while
'http**' match: 'httpgaga' returns false.

See Mantis http://bugs.squeak.org/view.php?id=6841



--
Best regards,

Herbert


Reply | Threaded
Open this post in threaded view
|

Re: String>>match: broken

Levente Uzonyi-2
In reply to this post by Levente Uzonyi-2
On Sat, 15 Jan 2011, Levente Uzonyi wrote:

> IMHO the best solution to this problem is to rewrite the method to allow any
> combination of * and # in the pattern.

I uploaded Collections-ul.420 to the Inbox which implements this change.


Levente

>
>
> Levente
>
>>
>> Best regards
>> Janko
>>
>>
>> --
>> Janko Mivšek
>> AIDA/Web
>> Smalltalk Web Application Server
>> http://www.aidaweb.si
>>
>

Reply | Threaded
Open this post in threaded view
|

Re[2]: [squeak-dev] String>>match: broken

Herbert König
Hi Levente,

>> IMHO the best solution to this problem is to rewrite the method to allow any
>> combination of * and # in the pattern.

LU> I uploaded Collections-ul.420 to the Inbox which implements this change.

thanks, it works as advertised, makes AIDAWeb work again in Trunk
and doesn't break any additional test.



Cheers,

Herbert


Reply | Threaded
Open this post in threaded view
|

Aida is back (was Re: Re[2]: [squeak-dev] String>>match: broken)

Edgar De Cleene



On 1/15/11 1:42 PM, "Herbert König" <[hidden email]> wrote:

> Hi Levente,
>
>>> IMHO the best solution to this problem is to rewrite the method to allow any
>>> combination of * and # in the pattern.
>
> LU> I uploaded Collections-ul.420 to the Inbox which implements this change.
>
> thanks, it works as advertised, makes AIDAWeb work again in Trunk
> and doesn't break any additional test.
>
>
>
> Cheers,
>
> Herbert
Thanks Herbert and Levente.
Today i updated FunSqueak to 10899 , still no Collections-ul.420  but I load
from inbox.
Then load Sport-2.031, Swazoo-2.3beta1.2 and Aida6.2-beta.1
Evaluate SwazooServer aidaStartOn:  9999 as i have another app running in
default 8888 and check with Firefox and Safari http://localhost:9999/, all
seems ok now.

As soon as load updates gives me Collections-ul.420 without "user hand "
do new version.

Again , thanks both you and all working hard.

Edgar



Reply | Threaded
Open this post in threaded view
|

Re: Aida is back (was Re: Re[2]: [squeak-dev] String>>match: broken)

Janko Mivšek
I'd also like to tkank Levent for quick response by
reimplementing/cleaning up #match: . Thank also Herbert and Edgar for
debugging effort.

Janko

On 16. 01. 2011 10:44, Edgar J. De Cleene wrote:

>
>
>
> On 1/15/11 1:42 PM, "Herbert König" <[hidden email]> wrote:
>
>> Hi Levente,
>>
>>>> IMHO the best solution to this problem is to rewrite the method to allow any
>>>> combination of * and # in the pattern.
>>
>> LU> I uploaded Collections-ul.420 to the Inbox which implements this change.
>>
>> thanks, it works as advertised, makes AIDAWeb work again in Trunk
>> and doesn't break any additional test.
>>
>>
>>
>> Cheers,
>>
>> Herbert
> Thanks Herbert and Levente.
> Today i updated FunSqueak to 10899 , still no Collections-ul.420  but I load
> from inbox.
> Then load Sport-2.031, Swazoo-2.3beta1.2 and Aida6.2-beta.1
> Evaluate SwazooServer aidaStartOn:  9999 as i have another app running in
> default 8888 and check with Firefox and Safari http://localhost:9999/, all
> seems ok now.
>
> As soon as load updates gives me Collections-ul.420 without "user hand "
> do new version.
>
> Again , thanks both you and all working hard.
>
> Edgar

--
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Re[2]: [squeak-dev] String>>match: broken

Levente Uzonyi-2
In reply to this post by Herbert König
Thank to everyone for the feedback. I'll soon push it to the Trunk.


Levente

On Sat, 15 Jan 2011, Herbert König wrote:

> Hi Levente,
>
>>> IMHO the best solution to this problem is to rewrite the method to allow any
>>> combination of * and # in the pattern.
>
> LU> I uploaded Collections-ul.420 to the Inbox which implements this change.
>
> thanks, it works as advertised, makes AIDAWeb work again in Trunk
> and doesn't break any additional test.
>
>
>
> Cheers,
>
> Herbert
>
>
>