Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixed: Inheritance and supplier links in the diagram tool get lost after retrieval from diagram XML files. Therefore they are not displayed and saved to diagram XML files anymore.
See also: https://groups.google.com/g/eiffel-users/c/bBJKGkAOXf0
Steps to reproduce (this should work with any project that includes more that one class and with at least one inheritance or supplier relation between the classes within one project's cluster, I describe it here with the project I tested it with):
Notes:
In addition to my eiffel-users post I was able to reproduce this issue also with EiffelStudio 23.09 on Linux.
The old code compared the source and target class names of the links in the XML files with the class ids in the model. This obviously always fails and thus the links are not displayed (and stored later).
I tested this fix and it works in my environment, but:
I'm not really sure about what caused this issue but I'm pretty sure it was some kind of code change which introduced this regression because I assume this once worked.
The introduction of the call of class_by_id in EIFFEL_FACTORY was in 2006 with commit a022fd4 but I find it strange that this issue hasn't been reported for like 18 years. So maybe something else caused it?
Also: The XML for the link elements only contains the source and target class names. I don't know if checking only the class name is always sufficient. It seems that in other places in EiffelStudio check are done either for the class id or the cluster and class name.