On 3/14/2012 6:19 AM, Leo wrote:
emacsclient works fine when I unset the environment variable
"EMACS_SERVER_FILE". This holds true regardless what server-auth-dir is
set to.

In order to produce the error, do the following:

(1) start emacs -Q.
(2) execute in the scratch buffer
(require 'server)

(setq server-auth-dir "~/")

(server-start)

(3) go to a cygwin bash (outside emacs)

(4) set EMACS_SERVER_FILE to "~/server"

(5) run the command

emacsclient ~/.emacs

and you get the error message from the original post, but you'd expect
to get in emacs a buffer displayed with the .emasc file.

You forgot to provide the pointers to the documentation that I requested, explaining why you would expect this. The documentation for `server-auth-dir' says "We only use this if `server-use-tcp' is non-nil. Otherwise we use `server-socket-dir'."

You didn't set `server-use-tcp' in your instructions above.  If I insert

  (setq server-use-tcp t)

before

  (server-start)

in your step (2), evaluating (server-start) gives me the error message "The directory `~' is unsafe". So it looks like emacsclient is working as expected.

Is there a reason you want emacsclient to use TCP instead of (the default) local sockets? I suspect this is due to your previous use of native Windows emacs. Here's a quote from the emacsclient info file:

     An Emacs server usually uses an operating system feature called a
     "local socket" to listen for connections.  Some operating systems,
     such as Microsoft Windows, do not support local sockets; in that
     case, Emacs uses TCP instead.

BTW, I'm working in a test build of emacs-24.1. I haven't checked to see what happens in emacs-23.4, but it doesn't seem relevant at this point.

Ken

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to