From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Newsgroups: gmane.emacs.help Subject: Re: How to avoid y-or-n-p in a program? Date: Fri, 14 Mar 2014 12:09:27 -0400 Message-ID: References: <87y50fqvh2.fsf@gmail.com> <87mwgsq2jg.fsf@gmail.com> <87fvmkq1jw.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1394813407 20658 80.91.229.3 (14 Mar 2014 16:10:07 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 14 Mar 2014 16:10:07 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Mar 14 17:10:16 2014 Return-path: Envelope-to: geh-help-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 1WOUgY-0003Qe-Fl for geh-help-gnu-emacs@m.gmane.org; Fri, 14 Mar 2014 17:10:14 +0100 Original-Received: from localhost ([::1]:45661 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOUgY-0004Oh-1K for geh-help-gnu-emacs@m.gmane.org; Fri, 14 Mar 2014 12:10:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41109) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOUgB-0004LL-0a for help-gnu-emacs@gnu.org; Fri, 14 Mar 2014 12:09:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WOUg3-0005mm-Lz for help-gnu-emacs@gnu.org; Fri, 14 Mar 2014 12:09:50 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:54754) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOUg3-0005mh-G3 for help-gnu-emacs@gnu.org; Fri, 14 Mar 2014 12:09:43 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1WOUg0-0002vt-AT for help-gnu-emacs@gnu.org; Fri, 14 Mar 2014 17:09:40 +0100 Original-Received: from 76-10-150-119.dsl.teksavvy.com ([76.10.150.119]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 14 Mar 2014 17:09:40 +0100 Original-Received: from monnier by 76-10-150-119.dsl.teksavvy.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 14 Mar 2014 17:09:40 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 30 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 76-10-150-119.dsl.teksavvy.com User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) Cancel-Lock: sha1:C1enmVDiKiBdKfPIui9KwxzUdI8= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:96510 Archived-At: > So rather than adding additional function args to the command and using > something like (when (called-interactively-p) ...) the canonical way > would be to split the command into a function (probably with additional > function args) and a command that calls this function (the interactive > wrapper)? Yes, when that can be done without too much gymnastics, it's the best option. > This would be more directed towards Org-mode I think ... > What if a command/function is overly verbose wrt to messages when used > in a program? Is it reasonable to ask for including an optional switch > like this > (defun xyz (args &optional quiet) > (unless quiet > (message ...))) > to be able to suppress all the messages in the function call? The situation for messages is somewhat similar, although more subtle because "too many messages" is not as clear cut as "hangs, waiting for the user to respond". I think that for messages, the right answer is a more serious redesign of the messaging system, e.g. such that you can redirect messages (rather than just silence them), and maybe also do it conditionally on the "seriousness/urgency" of the message. Stefan