Prerequisites action block is a String

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

Prerequisites action block is a String

Damien Cassou-3-2
Hi,

when you want to verify that a required package has a correct version
for your package, you modify the properties of your package:
'prerequisites version selection action'.

This should be a 3 argument block. The problem is when this is evaluated
(when you load your package from Store), the block is still a string and
a string does not understand #value:value:#value:

This has been reproduced in different VW image versions.


Thank you

Reply | Threaded
Open this post in threaded view
|

Re: Prerequisites action block is a String

Damien Cassou-3-2
Damien Cassou wrote:
> when you want to verify that a required package has a correct version
> for your package, you modify the properties of your package:
> 'prerequisites version selection action'.
> This should be a 3 argument block. The problem is when this is
> evaluated (when you load your package from Store), the block is still
> a string and a string does not understand #value:value:#value:
> This has been reproduced in different VW image versions.

Can somebody confirm ? Infirm ? Verify ?

Reply | Threaded
Open this post in threaded view
|

Re: Prerequisites action block is a String

Runar Jordahl
In reply to this post by Damien Cassou-3-2
AR 43979 probably covers this. I reported this in post "Possible bug
in Prerequisite Version Selection Block". I do not know the status of
this AR.

Here is an extract of my mail:

"It seems like the versionSelectionBlock on packages (package
properties tab, "Prerequisite Version Selection Action") does not work
in 7.3 and 7.3.1. I type in a selection block and it is stored as a
String in the package. But during load of the package, the string is
treated like a BlockClosure.

Method Store.Pundle>>checkPrerequisiteNamed:withVersion:requiredVersion:
does "blk := self versionSelectionBlock" and then treat blk as a block
by sending it #value:value:value: . If I look at implementers of
#versionSelectionBlock I can see that this method answers a String.

Maybe the last part of
Store.Pundle>>checkPrerequisiteNamed:withVersion:requiredVersion:
could be changed like this:

^(Compiler evaluate: blk)
                        value: prerequisiteName
                        value: prerequisiteVersionString
                        value: requiredVersionString"

Runar Jordahl

Reply | Threaded
Open this post in threaded view
|

Re: Prerequisites action block is a String

Alan Knight-2
That's 49379, and yes, it looks like it does.

At 09:13 AM 06/07/2006, Runar Jordahl wrote:

>AR 43979 probably covers this. I reported this in post "Possible bug
>in Prerequisite Version Selection Block". I do not know the status of
>this AR.
>
>Here is an extract of my mail:
>
>"It seems like the versionSelectionBlock on packages (package
>properties tab, "Prerequisite Version Selection Action") does not work
>in 7.3 and 7.3.1. I type in a selection block and it is stored as a
>String in the package. But during load of the package, the string is
>treated like a BlockClosure.
>
>Method Store.Pundle>>checkPrerequisiteNamed:withVersion:requiredVersion:
>does "blk := self versionSelectionBlock" and then treat blk as a block
>by sending it #value:value:value: . If I look at implementers of
>#versionSelectionBlock I can see that this method answers a String.
>
>Maybe the last part of
>Store.Pundle>>checkPrerequisiteNamed:withVersion:requiredVersion:
>could be changed like this:
>
>^(Compiler evaluate: blk)
>                       value: prerequisiteName
>                       value: prerequisiteVersionString
>                       value: requiredVersionString"
>
>Runar Jordahl

--
Alan Knight [|], Cincom Smalltalk Development
[hidden email]
[hidden email]
http://www.cincom.com/smalltalk

"The Static Typing Philosophy: Make it fast. Make it right. Make it run." - Niall Ross