From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philip Kaludercic Newsgroups: gmane.emacs.help Subject: Re: Should prefix variable be used in function argument list Date: Fri, 08 Jul 2022 17:40:33 +0000 Message-ID: <87let3mrji.fsf@posteo.net> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16389"; mail-complaints-to="usenet@ciao.gmane.io" Cc: carlmarcos@tutanota.com To: carlmarcos--- via Users list for the GNU Emacs text editor Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jul 08 19:44:55 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 1o9s2B-000446-HM for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 08 Jul 2022 19:44:55 +0200 Original-Received: from localhost ([::1]:40768 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o9s2A-0007t4-2Y for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 08 Jul 2022 13:44:54 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41186) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9ry7-0007q7-Bg for help-gnu-emacs@gnu.org; Fri, 08 Jul 2022 13:40:43 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]:42399) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9ry2-0002CK-7d for help-gnu-emacs@gnu.org; Fri, 08 Jul 2022 13:40:40 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 1C5AE240028 for ; Fri, 8 Jul 2022 19:40:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1657302035; bh=ouQRvq00imkcA96W4aO1OUNP/h6qGcIBLlkrt+oDaEo=; h=From:To:Cc:Subject:Autocrypt:Date:From; b=arqYMgljqhU4E4bn9H6dTVlh++6BQSBdpNDRxtJYbG1KZhBj76b8kDQog0kiz18Jq 1IUlGpu0L6jHHMxzRgP4onDFETzBdh1GpnpAUcC/6SBFSQfv9NKox7aOIS4pcmkmUw H10N3Hi8XspfY5dnUHs67790u3SgflzVGLikJTJnkv/6K0s0VIAOwNCRqIlEyEuarl X1CpHj6f4qnG+gXhVAsZ4Un9OAbePi26YZHXOXFR6MXGf6432ZkmpdxXVXxeuv2Oju 5797dfk/9AqRxDM7QJV6p6TKPLilj1Phq5+avHNu3eo6fqAfSEJRb8/l9BRhtG9tS3 45xcAgIjjevsg== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4LfgXx6dg0z9rxD; Fri, 8 Jul 2022 19:40:33 +0200 (CEST) In-Reply-To: (carlmarcos's message of "Fri, 8 Jul 2022 19:12:17 +0200 (CEST)") Autocrypt: addr=philipk@posteo.net; prefer-encrypt=nopreference; keydata= mDMEYHHqUhYJKwYBBAHaRw8BAQdAp3GdmYJ6tm5McweY6dEvIYIiry+Oz9rU4MH6NHWK0Ee0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiQBBMWCAA4FiEEDM2H44ZoPt9Ms0eHtVrAHPRh1FwFAmBx6lICGwMFCwkIBwIGFQoJ CAsCBBYCAwECHgECF4AACgkQtVrAHPRh1FyTkgEAjlbGPxFchvMbxzAES3r8QLuZgCxeAXunM9gh io0ePtUBALVhh9G6wIoZhl0gUCbQpoN/UJHI08Gm1qDob5zDxnIHuDgEYHHqUhIKKwYBBAGXVQEF AQEHQNcRB+MUimTMqoxxMMUERpOR+Q4b1KgncDZkhrO2ql1tAwEIB4h4BBgWCAAgFiEEDM2H44Zo Pt9Ms0eHtVrAHPRh1FwFAmBx6lICGwwACgkQtVrAHPRh1Fw1JwD/Qo7kvtib8jy7puyWrSv0MeTS g8qIxgoRWJE/KKdkCLEA/jb9b9/g8nnX+UcwHf/4VfKsjExlnND3FrBviXUW6NcB Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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:138383 Archived-At: carlmarcos--- via Users list for the GNU Emacs text editor writes: > When one wants to use the prefix argument when calling an interactive > function, should one include a prefix variable in the function > argument list?=C2=A0 No, I don't think there is any general rule here. Some functions are meant for interactive use only so they don't pass the prefix argument through the argument list, while functions that are both meant to be used interactively and by other functions do so to expose the functionality to both callers.=20 > Furthermore, should the prefix argument be defined as optional?=C2=A0 How > would one call the function non-interactively for such function?=C2=A0 Is > it always necessary to have the prefix argument as the first argument > in the function argument list? Again, most of this depends on the individual case and often is a matter of individual taste. You get to design the interactive specification yourself, so you get to decide what happens. An option you didn't mention but what I occasionally make use of is to only use `current-prefix-arg' in an interactive specification, instead of the body. E.g. think of something like this: --8<---------------cut here---------------start------------->8--- (defun foo (option) (interactive (list (if current-prefix-arg (read-string "Option: ") "default"))) (do-something-with option)) --8<---------------cut here---------------end--------------->8---