From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Glenn Morris Newsgroups: gmane.emacs.bugs Subject: bug#13697: A way to tell if Emacs can interact with the user Date: Tue, 12 Feb 2013 12:02:30 -0500 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1360688566 8806 80.91.229.3 (12 Feb 2013 17:02:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 12 Feb 2013 17:02:46 +0000 (UTC) To: 13697@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Feb 12 18:03:07 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1U5JG6-0005Wb-5w for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Feb 2013 18:03:06 +0100 Original-Received: from localhost ([::1]:33606 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U5JFm-0003em-TK for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Feb 2013 12:02:46 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:38631) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U5JFe-0003e4-3a for bug-gnu-emacs@gnu.org; Tue, 12 Feb 2013 12:02:44 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U5JFc-0000xD-93 for bug-gnu-emacs@gnu.org; Tue, 12 Feb 2013 12:02:37 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46973) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U5JFc-0000x9-5J for bug-gnu-emacs@gnu.org; Tue, 12 Feb 2013 12:02:36 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1U5JG2-0008FK-DZ for bug-gnu-emacs@gnu.org; Tue, 12 Feb 2013 12:03:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Glenn Morris Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Feb 2013 17:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 13697 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: submit@debbugs.gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.136068858131689 (code B ref -1); Tue, 12 Feb 2013 17:03:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 12 Feb 2013 17:03:01 +0000 Original-Received: from localhost ([127.0.0.1]:52437 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U5JG1-0008F4-HT for submit@debbugs.gnu.org; Tue, 12 Feb 2013 12:03:01 -0500 Original-Received: from fencepost.gnu.org ([208.118.235.10]:43050) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U5JG0-0008Ey-Dj for submit@debbugs.gnu.org; Tue, 12 Feb 2013 12:03:00 -0500 Original-Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1U5JFX-0005sm-70; Tue, 12 Feb 2013 12:02:31 -0500 X-Spook: Clinton Noriega AUTODIN CIA FSF world domination ASDIC X-Ran: *t!Thr;fh/wd%kOG\AjX9CvUJEfj>U8G9P^YTK(-es[86fjBu){L^|x7[-j12N&"cQk1u2 X-Hue: white X-Attribution: GM User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:71098 Archived-At: Package: emacs Version: 24.3 Severity: wishlist It's possible to run Emacs in such in way that it cannot interact with the user. Either in batch mode or in daemon mode with no open display. Emacs can hang waiting for user input in such cases (eg bug#6567). You need to detect such cases before asking the user for input that they will never be able to give. I came up with (based on server.el): (or noninteractive (and (daemonp) (null (cdr (frame-list))) (eq (selected-frame) terminal-frame))) but this is not very obvious. I think there should be a standard function for this. emacs-interactive-p? (As an aside, maybe yes-or-no-p etc should abort in such cases rather than waiting for ever.)