[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: emacsclient horribly broken

From: Juanma Barranquero
Subject: Re: emacsclient horribly broken
Date: Thu, 2 Nov 2006 17:07:51 +0100

On 11/2/06, Tim Van Holder <address@hidden> wrote:

Note that I couldn't debug properly because running edebug-defun on server-start
throws an error too: (invalid-read-syntax "Expected lambda expression"),
leaving point at line 329 of server.el (point indicated by ^):
    (letf (^((default-file-modes) ?\700))

That's weird (though unrelated). I have not problem debugging
server-start with edebug.

I removed /tmp/emacs1000 after closing emacs, and now the problem is
gone - I only get the "address in use" error if I start a second emacs (which is
understandable I guess, but that never happened before today).

AFAICS, if you start two Emacsen and both try to open the same local
socket, the error should be expected. You must somehow arrange for
them to have a different value of `server-name'.

I just expected emacsclient to use whatever emacs used without extra arguments.

I don't see it as a big problem, because obviously setting
EMACS_SERVER_FILE to ~/.emacs.d/server/server in your .profile is
trivial. However, if you really do feel that emacsclient should
default to TCP sockets if the server-file exists, please do comment it
on the developer's list; or I'll bring the issue, if you don't usually
read the list.

I can't think of any
realistic situation where ~/emacs.d/server/server exists (due to emacs
being active as server over TCP) and I'd still want emacsclient to try local
sockets instead.

I can: having two Emacs servers around, one to connect from the local
machine (with Unix sockets) and the other for remote connections. Unix
sockets are inherently more secure (there's no sniffing around, at
least from the network); perhaps you don't want to have the same info
available in both. Remember that a simple:

 emacsclient --eval "(buffer-list)"

can reveal information, and

 emacsclient --eval "(let (kill-emacs-hook kill-emacs-functions) (kill-emacs))"

(or a more sophisticated variant) finish a session...


reply via email to

[Prev in Thread] Current Thread [Next in Thread]