[Cuis-dev] Reload button in package list tool

Juan Vuletich JuanVuletich at zoho.com
Thu Mar 10 06:12:11 PST 2022


I think the simple reload button is ok. But I wouldn't like to make 
users think we have something like ENVY, with atomic load and unload of 
packages. Our package support is much simpler and basic.

Python and JS can't unload, reload or anything beyond basic loading, and 
they get away with it...

On 3/10/2022 9:53 AM, Mariano Montone via Cuis-dev wrote:
> El 10/3/22 a las 09:33, Luciano Notarfrancesco escribió:
>> Yes, perhaps it could show an error if the package defines methods in 
>> base clases or classes of other packages, otherwise it could lead to 
>> inconsistencies.
>
> Yes.
>
>>
>> Also, if the newer version on disk has fewer methods/classes than the 
>> installed version, or if some classes have been renamed, does it work 
>> as expected? 
> The contents of the package get overwritten, the new classes and 
> methods and renamed classes are deleted.
>
> > I never tried it, I got used to starting from a fresh image.
>
> Yes, that's what I'm trying to prevent. I feel like it would be good 
> to have even if the reload doesn't work and you get inconsistencies. 
> In that case you should start with a new image. But if it works, then 
> you didn't need to start from a fresh image. Responsibility is on the 
> user.
>
> I don't know ...
>
> Mariano
>
>>
>> On Thu, 10 Mar 2022 at 7:02 PM Mariano Montone via Cuis-dev 
>> <cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>> wrote:
>>
>>     El 10/3/22 a las 03:26, Luciano Notarfrancesco via Cuis-dev 
>> escribió:
>> > Is it actually possible to load a different version of a package
>>     that is
>> > already installed? Sounds quite nontrivial, same as uninstalling a
>> > package. For example what happens if an installed package implements
>> > Object>>#printOn: but the new version doesn’t?
>>
>>     You are right. In that case the reload won't work. The method is not
>>     restored with the previous version in the image.
>>
>>     Not to mention that a package could run arbitrary
>> > code on loading, I have no idea how to reverse that.
>>
>>     No way to reverse that. But I think not a big deal for most of the
>>     packages, either there's no initialization or the package is
>>     initialized
>>     again.
>>
>>     The reload has exactly the same effect as selecting the package 
>> file in
>>     the Files tool, and using the Install button.
>>
>>     This occurred to me because after a system update, Cuis was 
>> warning me
>>     that some of my packages versions on disk didn't match what was 
>> in the
>>     image. But didn't provide a way of reloading. I had to manually find
>>     the
>>     location of the packages on disk, and install them again. It 
>> actually
>>     worked for my packages, but you are right that it cannot be 
>> guaranteed
>>     it will work for all.
>>
>>     Mariano
>>     --     Cuis-dev mailing list
>>     Cuis-dev at lists.cuis.st <mailto:Cuis-dev at lists.cuis.st>
>>     https://lists.cuis.st/mailman/listinfo/cuis-dev
>> <https://lists.cuis.st/mailman/listinfo/cuis-dev>
>>
>


-- 
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
https://independent.academia.edu/JuanVuletich
https://www.researchgate.net/profile/Juan-Vuletich
https://patents.justia.com/inventor/juan-manuel-vuletich
@JuanVuletich



More information about the Cuis-dev mailing list