Das server-running-pPrädikat bewertet, tob der Emacs-Server ausgeführt wird, unabhängig davon, welcher Emacs-Sitzung derzeit der Serverprozess "gehört".
Wenn daher zwei oder mehr unabhängige Emacs-Sitzungen gleichzeitig ausgeführt werden, server-running-pwird nicht wirklich getestet, ob auf der aktuellen Emacs-Sitzung der Server ausgeführt wird.
Ich suche nach einem spezifischeren Test, der t genau dann ausgewertet wird, wenn in der aktuellen Sitzung (dh in der Sitzung, in der der Test durchgeführt wird) der Emacs-Server ausgeführt wird.
server-startund nach server-force-delete), server-modewar immer nil.
(server-mode 1)anstatt anzurufen (server-start). Ersteres ruft Letzteres auf und server-force-deleteüberprüft und deaktiviert diesen Modus, sodass es eher so aussieht, als wäre sever-modees die beabsichtigte Schnittstelle, und wir sollten nicht direkt anrufen server-start.
server-modeimmer noch berücksichtigt nicht, dass derselbe Server über mehrere Emacs-Instanzen gestartet und gelöscht wird, da das Löschen des Servers von einer Instanz keine Auswirkung auf den Wert von server-modein einer anderen hat.