> I always get a message "duplicate method definition" in package xxx,
> but I could find no way to get rid of it .
> What should I do ?
> Annick Fron
> vwnc mailing list
> [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc >
Which VisualWorks version do you use? Do you know which version of
VisualWorks published the package "xxx"?
In VW76 yo have a method Store.Package>>searchAndDestroyDuplicateMethods
which may be of help.
This one could do it:
"(Package pundleWithName: 'xxx' version: 'myversionstring')
Quite a different thing is identifyng the source of the duplicate
entries, so that they do not come back when publishing...
This indicates that you have a duplicate for one or more methods in the database. This can occur when publishing in certain circumstances, mostly from older versions (We think we've got rid of all of them now). To get rid of them
- bring up a version list on your package
- pop up the menu on the version in question, but do not select any items yet
- press and hold the control key
- select "Browse" from the menu
- now you should have an inspector on the package version. There are other ways to get that, but this "easter egg" is one of the more convenient ones.
- in the inspector, evaluate "self searchAndDestroyDuplicateMethods"
- this may open up a number of method version browsers, typically each with only two versions in them, representing the duplicates. You can go through these and look to see which is the correct version to use. The remove menu item in the browser will DELETE THEM DESTRUCTIVELY FROM THE DATABASE IMMEDIATELY.
- you may need to repeat this for multiple versions, since they may be duplicated in several