On 31/03/2011 13:09, Mattias Gaertner wrote:

Martin <[email protected]> hat am 31. März 2011 um 13:22 geschrieben:

>[...]
> This whole discussion seems to mix 2 issues into one:
> - problems caused by using the wrong config due to none awareness (imho
> the main issue)

+1

> - convenience of using multiply configs.
>
> Searching for config files in the exe dir (even if done) doesn't solve
> the first issue, as there may not be any config files in that directory
> to start with.

Then the IDE creates defaults.

No. This is:
- if a search in the exe-dir is added, (so the the behaviour will be: search exe-dir, search global-conf dir)
- if a global config exists

The IDE will search the exe dir, will not find a config, will find the global conf If no global conf exists, it will search all places, and then create the globa conf

> In this case the unaware user is still screwed.

Why do you think he is screwed?


Because if the user is unaware, and never creates a config by hand, or forces it into the exe dir, then he./she always ends up with a global conf.

So searching the exe dir first, doesn't help. (unless the user is aware, but an aware user can use -pcp too)

> And even if there are config files there, the unaware user, may just
> have started a 2nd build (with different set of installed packages), by
> copying another lazarus dir, and moved config files into the new dir,
> which have values pointing back to the old dir, causing problems again.

Since 0.9.29 packages in the Lazarus directory are stored relative. Changing the Lazarus directory will load the lpk files of the new Lazarus directory.

lpk files outside are used from the old positions.


if they exist...
if a user installed lnet, in his lazarus dir, it may not exist in another laz dir...


> Only checking, if the config files match the current installation can
> solve that.
> AFAIK Mattias added a version check.

I added a check for the ide/version.inc.

Configs from another version are quietly loaded and updated.

Maybe a check could be added to warn if the environmentoptions.xml is from a future Lazarus with two options: Quit and continue.


Imho on any conflict:
- diff version
- diff last exe path (doesn't work on linux, since recompiled exe goes into user dir)
- missing package source

the user should be:
- informed which config is used
- offered to create a new one, in a new place (run some kind of profile manager)
  => and be told how to load this.
- offered to load a diff config



> IMHO for example any error about installed/not found packages at start
> up, could also offer to run the setup dialog again (and point out which
> config is used / warn about a potential conflict)

Yes.



--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to