[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: server-start preempted by other emacs window
From: |
Jari Aalto+mail.linux |
Subject: |
Re: server-start preempted by other emacs window |
Date: |
Sun, 08 Feb 2004 11:50:14 +0200 |
User-agent: |
Gnus/5.110002 (No Gnus v0.2) Emacs/21.3 (windows-nt) (i386-msvc-nt5.0.2195) |
* Thu 2004-01-29 Thorsten Bonow <thorsten.bonow <AT> post.rwth-aachen.de>
*
<http://groups.google.com/groups?oi=djq&as_umsgid=%3C87ad46ob01.fsf@herrrossi.mmweg.rwth-aachen.de>
| >>>>> "Stefan" == Stefan Monnier <monnier <AT> iro.umontreal.ca> writes:
| Hi, this was discussed before. I could not find the thread, but since
| then I have this solution in my .emacs to prevent starting a second
| server if one is already running:
|
| --- cut here ---
| ;; ** emacsclient
| (defun my-server-start-filter-function (process output)
| "Filter function for `my-server-start', which checks for an
| accessible Emacs process acting as a server by calling
| `emacsclient --eval t' as an external asynchronous
| process. Process output is filtered by this function which only
| calls `server-start' when no server is running, id est the call
| to emacsclient has failed."
| (if (equal output "t\n")
| (message "Not starting server, one instance already running...")
| (message "Starting server...")
| (server-start)))
| ;;
| (defun my-server-start ()
| "Call `server-start' only if no other accessible Emacs process
| is already acting as a server for client processes."
| (let ((process-connection-type nil))
| (set-process-filter (start-process "my-process" nil "emacsclient"
"--eval" "t")
| 'my-server-start-filter-function)))
| ;;
| (my-server-start)
Unfortunately the emacsclient that Cygwin or Debian provides, does not
know --eval option. The above code fails, because the filter function
expects "t\n", when the real output is:
/bin/emacsclient: unrecognized option `--eval'
Usage: /bin/emacsclient [-a ALTERNATE-EDITOR] [-n] [--no-wait]
[+LINE[:COLUMN]]\
FILENAME
Or /bin/emacsclient --version
Report bugs to bug-gnu-emacs <AT> gnu.org.
It seems to be impossible to make and automatic test to see if one
Emacs is already running as server. Stefan's remark to upcoming network
connection functions offers a solution.
Jari
--
http://tiny-tools.sourceforge.net/
Swatch @time http://www.mir.com.my/iTime/itime.htm
http://www.ryanthiessen.com/swatch/resources.htm
Use Licenses! http://www.linuxjournal.com/article.php?sid=6225
Which Licence? http://www.linuxjournal.com/article.php?sid=4825
OSI Licences http://www.opensource.org/licenses/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: server-start preempted by other emacs window,
Jari Aalto+mail.linux <=