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 23:29:16 +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="35495"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/+ () (2022-06-11) Cc: carlmarcos@tutanota.com, Stefan Monnier , Tassilo Horn , help-gnu-emacs@gnu.org To: Christopher Dimech Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Thu Jul 07 07:11:51 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 1o9Jnq-00093o-Km for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 07 Jul 2022 07:11:50 +0200 Original-Received: from localhost ([::1]:40354 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o9Jno-0001Aj-Oj for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 07 Jul 2022 01:11:48 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49830) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9JnK-0001Ab-Ek for help-gnu-emacs@gnu.org; Thu, 07 Jul 2022 01:11:18 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:42843) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9JnI-0006z7-C8; Thu, 07 Jul 2022 01:11:17 -0400 Original-Received: from localhost ([::ffff:197.239.4.100]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000087C57.0000000062C66AD0.00001BA7; Wed, 06 Jul 2022 22:10:39 -0700 Mail-Followup-To: Christopher Dimech , 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: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_06_12=1.543, 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:138338 Archived-At: * Christopher Dimech [2022-07-06 23:00]: > > > Sent: Wednesday, July 06, 2022 at 12:07 PM > > From: "Jean Louis" > > To: carlmarcos@tutanota.com > > Cc: "Stefan Monnier" , "Tassilo Horn" , help-gnu-emacs@gnu.org > > Subject: Re: Making a function than can only be used interactively > > > > * 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. > > If one does not mind interactive activities with the minibuffer for > a function without the interactive clause. 1) That means for me, you did not understand what is interactive function. Just read docstring. 2) Nowhere it says that function without (interactive) cannot interact with user. Numbers above (1) and (2) are different contexts. A word such as "interactive" has different meanings. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/