I have another example attached.
One Workspace, two projects. Both projects are sharing the source file "together.cpp".
Start Code::Blocks, activate the log tab "Code::Blocks".
Open the workspace "ccproblem.workspace".
The logpane shows:
Opening C:\codeblocks\ccproblem\project1.cbp
Done.
Opening C:\codeblocks\ccproblem\project2.cbp
Done.
Create new parser for project 'project1'
Project 'project1' parsing stage done!
expand all Workspace nodes by clicking at the plus signs.
Now open project1s file together.cpp by double clicking at "together.cpp". The editor opens the source file. A look at the symbols browser shows the global functions "project1" and "together".
Now open together.cpp in project2, only by double clicking at the filename. The editor window don't change and even the symbol browser don't change. It still displays "project1" and "together" as available functions.
To here, I can't see any issue.
OK, another try:
open the file "project1.cpp". The editor shows this file and the symbol bwrowser shows "project1" and "together"
This is the correct behavior, cc create a parser for "project1".
open the file "project2.cpp" and now something happens in the codeblocks log pane: The parser starts to parse project2. The symbol browser showas "project2" and "together" as available function.
If you CC setting "max allowed parsers" number >=2, and CC detect that a file belong to another C::B project is opened, so it will create another parser for "project2", this is also correct behavior.
Do you see the difference in the behavior of the cc parser?
Yes, but I don't think cc has some problems in those steps.
It ignores the project when it decides if and when to parse something.
What does this sentence means? I can't understand this.