[Top][All Lists]

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

Re: emacsclient command line use existing client

From: Tory S. Anderson
Subject: Re: emacsclient command line use existing client
Date: Mon, 15 Sep 2014 07:22:20 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Yeah, the problem is starting a new server every time. But all these commands 
just run `emacs-client`. I've even ditched the auto-start one and just execute 
a later emacs-client. I've added server names and specifications to each 
command. I now have: 

in .emacs:
(require 'server)
(setq server-name "my-emacs-server")
(unless (server-running-p)

mailto=$(printf '%s\n' "$mailto" | sed -e 's/[\"]/\\&/g')
elisp_expr="(mailto-compose-mail \"$mailto\")"
emacsclient -a "" -c -n -s "$emacs_server" --eval "$elisp_expr" \
        '(set-window-dedicated-p (selected-window) t)'

my shortcut for opening emacs (which DOES open under the proper server)
emacsclient -c -s "my-emacs-server"

And still clicking a @mailto: link (running starts a new, unattached 

Oliver Kappel <address@hidden> writes:

> Hello,
> my guess: emacsclient inside your script runs another installed
> instance of emacs as you started emacs server with. With option -a ""
> this instance will start another emacs in deamon mode. Probably the
> $PATH while runing the mailto-script is different.
> Check your OS "autostart `emacs-client` command" - as you mentioned -
> and make sure your script uses the emacsclient from the same ./bin
> directory. 
>   Greetings, Oliver
> 12.09.2014 at 14:16 Tory S. Anderson wrote:
>> Thanks for prompting me to be more precise. When my OS starts I launch
>> a server with the autostart `emacs-client` command, and have the line
>> in my .emacs to ensure the server is started. As it should, opening
>> any number of new frames (or launching emacs-client again) will share
>> the same buffer list, etc. However, this shell script for launching an
>> email (apparently) starts a new server; it isn't sharing anything with
>> the other frames, and if I don't `kill-emacs` I end up with two
>> servers running. Clearly, not acceptable.
>> Michael Heerdegen <address@hidden> writes:
>>> address@hidden (Tory S. Anderson) writes:
>>>> elisp_expr="(mailto-compose-mail \"$mailto\")"
>>>> emacsclient -a "" -c -n --eval "$elisp_expr" \
>>>>    '(set-window-dedicated-p (selected-window) t)'
>>>> But somehow when I run this it starts a new emacsclient rather than
>>>> using the one I have running. If I remove the `-a ""` then nothing
>>>> happens at all. Why won't it connect to my existing emacsclient?
>>> What exactly do you mean with "existing emacsclient"?  You must have a
>>> running server.  A running Emacs is not enough.
>>> Michael.

reply via email to

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