Gibt es eine Möglichkeit, Umgebungsvariablen in Emacs neu zu laden?

8

Wenn emacs gestartet wird, erbt es die Umgebungsvariablen, die zu diesem Zeitpunkt festgelegt wurden, entweder in der Startanwendung (Linux) oder in einem zentralen Repository (der Windows-Registrierung).

Unter Windows können Umgebungsvariablen global festgelegt werden. Wie kann ich emacs auffordern, die Liste der Umgebungsvariablen zu aktualisieren?

Ich bin auch an Möglichkeiten interessiert, die Variablen unter Linux zu aktualisieren (die in der Shell, die Emacs gestartet hat, geändert wurden). Es scheint viel schwieriger zu sein, da es kein zentrales Repository für Umgebungsvariablen gibt. Vielleicht durch Spielen mit emacsclient?

Norswap
quelle
Können Sie ein wenig erklären, welches Problem Sie lösen möchten? Warum müssen Sie so über die Umgebung kommunizieren?
DJF
Ein einfacher Fall ist die Installation eines neuen Befehlszeilenprogramms. Unter Windows könnte es beispielsweise in "C: \ Programme \ Mein Programm \" enden. Um dieses Programm in der Befehlszeile zu verwenden, muss ich diesen Pfad zur Umgebungsvariablen PATH hinzufügen. Ich verwende die Emacs-Shell und muss daher Emacs neu starten (oder die Variable manuell in Emacs zur Umgebung hinzufügen), um das neue Programm verwenden zu können.
Norswap

Antworten:

2

Vielleicht könnten Sie ein externes Skript erstellen, das die Namen und Werte von Umgebungsvariablen sammelt und diese Name-Wert-Paare dann über emacsclient an die laufenden Emacs sendet, damit Emacs seine eigene Umgebung entsprechend den empfangenen Werten mit festlegen kann setenv.

Tom
quelle