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: (interactive) and &optional Date: Sat, 25 Mar 2023 17:32:06 +0300 Message-ID: References: <25628.42021.832534.376361@woitok.gmail.com> <25630.58233.939785.855@woitok.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22946"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.2.9+54 (af2080d) (2022-11-21) Cc: help-gnu-emacs@Gnu.Org To: Dr Rainer Woitok Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sat Mar 25 15:37:19 2023 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 1pg51C-0005fp-Cw for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 25 Mar 2023 15:37:18 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pg50t-0006xf-5I; Sat, 25 Mar 2023 10:36:59 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pg50s-0006xX-AC for help-gnu-emacs@gnu.org; Sat, 25 Mar 2023 10:36:58 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pg50q-00073B-Ld for help-gnu-emacs@gnu.org; Sat, 25 Mar 2023 10:36:58 -0400 Original-Received: from localhost ([::ffff:197.239.5.205]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 00000000000F5858.00000000641F070A.00003795; Sat, 25 Mar 2023 07:36:58 -0700 Mail-Followup-To: Dr Rainer Woitok , help-gnu-emacs@Gnu.Org Content-Disposition: inline In-Reply-To: <25630.58233.939785.855@woitok.gmail.com> 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 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-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:143112 Archived-At: * Dr Rainer Woitok [2023-03-25 15:05]: > > I do not like involving `interactive' at all, so I do the handling by > > providing optional argument and telling function to check for it, or > > ask for it. > > > > (defun search-something (&optional query) > > "Search something by using QUERY." > > (interactive) > > (let* ((query (or query (read-from-minibuffer "Query: ")))) > > (do-the-search query))) > > Correct me if I'm wrong, but doesn't this unconditionally call "read- > from-minibuffer" when non-interactively called without argument? Non- > interactively I would like the function to simply use my default value. Yet, it calls unconditionally if that is the choice of programmer. If you want default value, then you can do so: (let* ((query (or query my-default-value (read-from-minibuffer "Query: ")))) (do-the-search query))) or like this: (let* ((query (or query my-default-value))) (do-the-search query)) -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/