From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: Making a function than can only be used interactively Date: Wed, 6 Jul 2022 03:07:31 +0300 Message-ID: References: <87pmiljgah.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28404"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/+ () (2022-06-11) Cc: Stefan Monnier , Tassilo Horn , help-gnu-emacs@gnu.org To: carlmarcos@tutanota.com Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jul 06 02:12:58 2022 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o8sf4-0007F7-Oq for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 06 Jul 2022 02:12:58 +0200 Original-Received: from localhost ([::1]:56186 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o8sf3-00087c-LI for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 05 Jul 2022 20:12:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40978) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o8sdi-00084B-7i for help-gnu-emacs@gnu.org; Tue, 05 Jul 2022 20:11:35 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:37793) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o8sdg-0001Jb-LX; Tue, 05 Jul 2022 20:11:33 -0400 Original-Received: from localhost ([::ffff:197.239.6.19]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000087C52.0000000062C4D312.000004D7; Tue, 05 Jul 2022 17:10:57 -0700 Mail-Followup-To: carlmarcos@tutanota.com, Stefan Monnier , Tassilo Horn , help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_SBL=0.141, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:138324 Archived-At: * carlmarcos--- via Users list for the GNU Emacs text editor [2022-07-04 22:52]: > Technically, you can use `completing-read` and `read-from-minibuffer` if you'd also > like to set values interactively, while calling the function non-interactively.  One can > achieve more or less the same effect with setting values of local variables outside > the interactive expression.  In this scenario, running the function non-interactively would > still force interactive input from the minibuffer. > > I am not sure if in practice that is ever desired. (interactive &optional ARG-DESCRIPTOR &rest MODES) -- this makes the function a command that may be tied to a key, and it helps in specifying the arguments to the function. In this context function may be run as command, or by pressing a key. However, it does not really mean it need to interact with user, not at all. It does not need to ask nothing of the user. In fact, it can just interactively, during Emacs session be called by user with M-x or by using a key. Beyond that, function may remain quite silent without interactivity. The above is one specific context where word "interactive" is used as in function (interactive). It does not exclude the other context that any function without (interactive) may do interactive activities, like ask user interactively for input. Remember, there are 2 different contexts. One does not exclude the other. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/