unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: torys.anderson@gmail.com (Tory S. Anderson)
To: Oliver Kappel <ngreply@gmx.net>
Cc: help-gnu-emacs@gnu.org
Subject: Re: emacsclient command line use existing client
Date: Mon, 15 Sep 2014 07:22:20 -0400	[thread overview]
Message-ID: <87iokpuo0j.fsf@gmail.com> (raw)
In-Reply-To: <m14mwd2bwl.fsf@edvings.de> (Oliver Kappel's message of "Fri, 12 Sep 2014 15:42:18 +0200")

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)
    (server-start))


in email.so:
----------
mailto=$1
mailto="mailto:${mailto#mailto:}"
mailto=$(printf '%s\n' "$mailto" | sed -e 's/[\"]/\\&/g')
emacs_server="my-emacs-server"
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 email.so) starts a new, unattached server. 



Oliver Kappel <ngreply@gmx.net> 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 <michael_heerdegen@web.de> writes:
>>
>>> torys.anderson@gmail.com (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	other threads:[~2014-09-15 11:22 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-11 12:58 emacsclient command line use existing client Tory S. Anderson
2014-09-12  2:42 ` Michael Heerdegen
2014-09-12  7:43   ` Thorsten Jolitz
2014-09-12 12:16   ` Tory S. Anderson
2014-09-12 13:42     ` Oliver Kappel
2014-09-15 11:22       ` Tory S. Anderson [this message]
2014-09-15 12:04         ` Michael Heerdegen
2014-09-15 12:28         ` Oliver Kappel
2014-09-19 17:12           ` Tory S. Anderson
2014-09-19 17:38             ` Subhan Michael Tindall
2014-09-19 17:44               ` Tory S. Anderson
2014-09-20  2:14             ` Charles Philip Chan
2014-09-20 10:42               ` Tory S. Anderson
2014-09-20 11:35                 ` Charles Philip Chan
2014-09-20 13:04                   ` Tory S. Anderson
2014-09-21  1:32                     ` Charles Philip Chan
2014-09-21  1:32                     ` Charles Philip Chan
2014-09-22 18:53                       ` Tory S. Anderson
2014-09-12 16:28     ` Subhan Michael Tindall
2014-09-13 17:29     ` Harry Putnam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87iokpuo0j.fsf@gmail.com \
    --to=torys.anderson@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=ngreply@gmx.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).