emacsclient is such a usefull tool. But that it does not signal error situations via its exit status severely hinders its usage in shell scripts or in integration with other programs. For example, I was bit by this rather badly when I tried to use emacsclient to start an ediff session, to use as a merge tool for the Mercurial SCM. I may have made a typo in configuring said ediff command or for whatever other reason, Emacs returned an error. But Mercurial was blissfully unaware of this, since emacsclient returns 0 no matter what. End result: Mercurial committed a broken merge that I had to spend at least two hours some days later to debug. I've attached a patch that makes emacsclient exit with nonzero status when it receives an error message from Emacs -- it already *prints* "*ERROR*" in these cases, so I feel this makes a lot of sense. Thanks, Wolfgang