Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
Handling of configuration
takeshimiya:
Hi! There are some problems with the handling of the .conf.
The problem is that all the settings are read from there, but if C::B updates something (for example, let's say you have C::B RC3, and upgraded to RC4) like new keywords in an existing lexer, or compiler configuration, etc. everything is read from the .conf and ignores all the new things.
--- Quote from: killerbot on February 02, 2006, 02:43:59 pm ---NOTE : we have another issue, even when this has been adjusted, it does not work immediately, since the default.conf still has the old one stated and overrules the code !!!!!! Very dangerous !!!
--- End quote ---
What to do in these cases? Merge the settings? The new C::B settings should override the user configuration? They should be ORified instead of XORified? There should appear a MessageBox to let the user decide?
killerbot:
"settings set" version number in the conf and the sources, where on an upgrade some sort of merge happens. Challenge : what's to be considered a good merge ??
Michael:
It would not be possible to delete the old and store the new one? A merge is oft error-prone and the errors are difficult to spot.
Michael
killerbot:
--- Quote from: Michael on February 02, 2006, 05:28:17 pm ---It would not be possible to delete the old and store the new one? A merge is oft error-prone and the errors are difficult to spot.
Michael
--- End quote ---
damn right, but on the other hand, suppose you have several 'self registered' compilers, with for example all those regular expressions. You don't like to loose that. But for the compilers we can probably solve it in the future (a config file per compiler, with an unique ID).
[EDIT} but then when the user altered some built-in compiler settings, should we merge here then when we change something to the 'in house' settings for that compiler (like today, we changed something to the settings of Digital Marc C/C++ compiler (bug fix)).
takeshimiya:
But there can be times that the user willn't want to loose the data.
Real example: In a patch applied yesterday, which adds keywords to the cpp_lexer.xml (for example try the keyword uint8_t), aren't loaded the new keywords, because all the keywords are being read from the .conf.
Navigation
[0] Message Index
[#] Next page
Go to full version