Initial state: Language A deployed with Spoofax. The project for language A open in the workspace. A file written in language A. Eclipse open.
Step 1: quit Eclipse
Step 2: launch Eclipse
Step 3: confirm that the file in language A is recognized
Step 4: close the project for language A
Final state: the file in language A is not longer recognized
Expected state: the built-in language A loaded to replace the one in the workspace and the file written in A should be recognized.

Eclipse: org.eclipse.epp.package.standard.feature.feature.group 4.4.2.20150219-0708
Spoofax: org.metaborg.spoofax.eclipse 1.5.0.20160112-115314-new-spoofax-plugin
System: Mac OS X x86_64 10.11.2
Submitted by Vlad Vergu on 13 January 2016 at 10:14

On 13 January 2016 at 11:18 Gabriël Konat commented:

This is currently intended behaviour. If you load a language B with the exact same groupId, artifactId, and version as language A, it will remove language A completely and load language B. It is not possible to go back to language A by unloading language B. You have to load language A explicitly to get A back, either by loading/building A or by restarting the environment if A is deployed with the environment.

I did this for simplicity of the language registry algorithm, but I know this can be quite annoying sometimes when developing meta-languages. I’ll look into a fix for it sometime.


On 30 March 2016 at 13:53 Gabriël Konat tagged core

Log in to post comments