Windows 10 已删除的系统环境变量不断重新出现

Windows 10 已删除的系统环境变量不断重新出现

我已经在 Windows 上使用 GNU Emacs 多年了,为了使其正常工作,我总是必须定义几个环境变量。我一直将它们定义为系统变量:

EMACS_DIREMACSDATAEMACSDOCEMACSLOADPATHEMACSLOCKDIREMACSPATH

我最近将 Emacs 从“NTEmacs”端口 24.3 升级到官方 GNU 端口 26.1,我发现我使用的这些值是错误的。此外,当前版本可以自动检测除 EMACSPATH 变量之外的所有变量。

所以我进入环境变量控制面板,将 EMACSPATH 更改为指向新安装的位置,然后删除其余部分。Emacs 现在运行良好。

但我发现,注销/登录后,所有已删除的变量都会恢复,并具有旧值。更准确地说,它们不在控制面板中,但如果我打开命令提示符并输入set,它们就会出现并阻止 Emacs 工作。(我删除的其他环境变量也会恢复,但它们不会干扰我的任何应用程序,所以我不太在意)。

如果我使用控制面板修改、添加或删除任何系统环境变量,则环境将重置以匹配它,并且 Emacs 将再次工作,直到我下次注销或重新启动。

显然,这些环境变量被缓存在某个地方,但我不知道在哪里才能完全删除它们。

我用 regedit 搜索了注册表,但找不到这些旧变量的任何踪迹。我还应该在其他地方查找吗?这显然是 Windows 的一个错误,但我不想一直忍受它,直到 Microsoft 修复它为止。

当然,我可以获取 Emacs 计算的值并使用这些值重新创建系统环境变量,但除非没有其他可用选项,否则我宁愿避免这样做。

相关内容