A melhor maneira é usar (server-running-p)
do pacote server
. Por exemplo
(require 'server)
(unless (server-running-p)
(server-start))
Estou executando o Emacs 23 no Debian Squeeze. ~/.emacs
não contém nenhum comando server
-related.
Eu inicio o Emacs e digito C-h v server-mode
, que retorna nil
, já que nenhum servidor está rodando. Em seguida, eu digito M-x start-server
, que inicia um servidor Emacs na instância em execução do Emacs.
No entanto, a variável server-mode
ainda é nil
quando eu a verificar novamente. Somente depois de executar M-x server-mode
, a variável server-mode
obterá um valor de t
. Isso é um bug ou estou fazendo algo errado?
O modo de servidor funciona bem depois de inserir start-server
; Eu posso usar emacsclient
para abrir um arquivo no servidor Emacs. No entanto, eu queria usar a variável server-mode
na linha de modo para indicar se o servidor está em execução, mas se iniciar o servidor com start-server
não alterar o valor de server-mode
, isso não funcionará como esperado. / p>
A melhor maneira é usar (server-running-p)
do pacote server
. Por exemplo
(require 'server)
(unless (server-running-p)
(server-start))
Para obter a funcionalidade que preciso / espero (de um Emacs recém-iniciado), executo M-x server-mode
para iniciar o servidor, em vez de server-start
. Iniciar o servidor dessa maneira altera o valor da variável server-mode
para t
.
Não entendo por que iniciar o servidor com o documentado server-start
não define a variável server-mode
para t
.
Tags emacs emacsclient