Inicie o emacs 23.1 no Windows XP apenas uma vez (emacsclientw.exe)

4

Eu tenho (server-start) no meu arquivo .emacs e defino as variáveis HOME, ALTERNATE_EDITOR (= runemacs.exe) e EMACS_SERVER_FILE definidas.

Quando eu começo

emacsclientw.exe  test.txt

na primeira vez, espero que o emacs inicie e exiba o buffer test.txt O que acontece é que o emacs é iniciado e o buffer scratch é exibido, a linha de mensagem diz (Novo arquivo) e o buffer test.txt existe, mas ainda não é exibido. (Isso não é realmente o que está me incomodando agora)

Quando eu executo agora

emacsclientw.exe test2.txt

Espero que o mesmo emacs seja usado e um novo buffer test2.txt seja criado.

Mas o que acontece é que um novo emacs é iniciado com uma leitura de buffer de aviso aberto:

Warning (server): Unable to start the Emacs server.
There is an existing Emacs server, named "server".
To start the server in this Emacs process, stop the existing
server or call 'M-x server-force-delete' to forcibly disconnect it.

Isso soa como se a primeira instância iniciasse um servidor, mas o segundo não se conecta a ele, mas tenta iniciar o servidor novamente.

Qual poderia ser o problema?

    
por Titule 26.09.2011 / 14:01

4 respostas

1

Eu tive o mesmo problema. Atualmente, usei a seguinte solução.

Adicione ao seu arquivo .emacs:

(load "server")
(unless (server-running-p) (server-start))

A solução vem de Como começar servidor emacs apenas se não for iniciado?

    
por 10.12.2014 / 17:25
0

Você deve iniciar o Emacs usando

runemacs.exe

Depois disso, você pode usar

emacsclientw.exe  test.txt
    
por 26.09.2011 / 16:14
0

Pela aparência, seu servidor emacs está criando seu arquivo de servidor em um local onde emacsclientw não pode encontrar. Para depurar o problema, você pode executar o emacs e ver que o arquivo do servidor especificado em EMACS_SERVER_FILE está realmente criado.

Na minha configuração, a única variável de ambiente que uso é HOME . A variável personalizada server-name é deixada no seu valor padrão (ou seja, server ). Isso faz com que o arquivo $HOME/.emacs.d/server/server seja criado quando eu executar o emacs. E como esse local é o padrão, emacsclientw.exe é capaz de localizar esse arquivo e determinar como falar com o emacs.

Eu dei uma olhada rápida em server.el no meu sistema e não consegui ver nada sobre EMACS_SERVER_FILE nele. Se você usar um local fora do padrão, isso pode ser a causa dos seus problemas.

    
por 29.09.2011 / 23:24
0

Se você já tem (server-start) no seu arquivo .emacs, você pode querer verificar o Wiki do Emacs. Ele tem algumas boas informações sobre o uso do emacsclient no MS Windows .

    
por 29.09.2011 / 21:03