Subject: Re: bug#27511: 26.0.50; emacsclient requires file argument

From: James Nguyen <[email-masked]>
Date: Thu, 29 Jun 2017 18:06:00 -0700

>> What does it mean to connect to a server without asking the server to do something?  Does DWIM suggest an obvious guess?  One possible guess would be that you forgot to specify a file, in which case an error message (or at least a query) is precisely the right thing.  Maybe there are other possible guesses, but I personally wouldn't expect emacsclient to guess that I want the server to do something involving the scratch buffer.

`Anything` but failing and throwing an error message would be a 'sane default' (in my opinion).

>> vim is not a client connecting to a server.  A better analogy would be a mail client/server pair.  What would you expect a mail client to do if you ask it to connect to an outgoing mail server but you don't specify a message to send?  I would expect either (a) the client should do nothing or (b) the client should issue an error message.

Sure, a mail client/server is a good analogy. If I click 'mail app' in OSX, it opens up to a list of my emails/inbox (and even queries for mail!) despite myself not micromanaging that fact.

>> Noam suggested that you should use 'emacsclient -c' or 'emacsclient -t', neither of which does nothing; they each create a new frame.  AFAIU, he didn't suggest that emacsclient should try to guess which of these you want if you don't specify either.

This was what I was referring to.

  emacsclient --eval '(select-frame-set-input-focus (car (frame-list)))'

>> Anyway, it might be time for us to agree to disagree.

Agreed.