Then how about doing it this way:
* If the source has been changed, the project will get the current line, first line, folding, cursor position and line markers from the source and save those in the project.
* If the source has not been changed the project will use the current line, first line, folding, cursor position and line markers that is stored in the project.
* If the source is changed while in the project, current line, first line, folding, cursor position and line markers are saved in the project and the source.
* If the source is changed outside a project the current line, first line, folding, cursor position and line markers are saved in the source.
Does that sound logic? Unless I missed something this should give the best of both worlds.
Why am I so adamant about this? Well, because when a source is shared among two projects it is more likely that I am referencing different procedures in that source depending on which project it is.
Maybe not everybody would want this as default behavior, but I would at least want it an option for those that would, like me.
