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