Updating environment variables dating holland made tubes
Con Emu may provide an option to take this behavior.For simplicity, we can ignore the exported changes from console up to Con Emu process.In the above case you allow one terminal to overwrite changes that were made by the other terminal, but at the same time you don't like the idea of overwriting Con Emu's environment by the system-wide environment changes, which, I argue, should at least take precedence to bottom-up environment updates. As I've said before, Con Emu may be used as a terminal for other products (WAMP (Open Server), MAME, build environments like Mozilla, and so on). So, PATH actually differs from system at the moment Con Emu starts. just have an option for this(auto processing of WM_SETTINGCHANGED) or at least have a menu button or a command that reload all settings?This way new tabs may work with new settings and existing tabs can continue with old copy of variables.The Append() method, should you choose to actually implement something similar to what I described, can destroy mutually cancelling deltas, e.g.
For explorer.exe, I open a new console by "open prompt here", it does use the new system environment variables. Con Emu does not have to update all variables from the system.
@zhaoguoyuan Look, even if Con Emu would renew its environment (in roadmap actually) the application, running in Con Emu tab is running on their own responsibility.
There is no proper way to "change" environment in some external process.
When Con Emu starts you should save the original PATH variable that was inherited from the parent process to CONEMU_PATH.
Then with every change to the PATH variable by the internal feature you'll have to see what was added/removed to the original PATH and save those deltas.