From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: Handling optional argument with t value Date: Tue, 06 Dec 2022 00:03:49 +0100 Message-ID: <871qpda1wq.fsf@dataswamp.org> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11202"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:o/VB4rChqO0G1KgnDvpp1XjqfuA= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Tue Dec 06 00:10:02 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 1p2Kb3-0002lQ-Jl for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 06 Dec 2022 00:10:01 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p2KaQ-0003zw-Tr; Mon, 05 Dec 2022 18:09:23 -0500 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 1p2KVG-0003B8-Jx for help-gnu-emacs@gnu.org; Mon, 05 Dec 2022 18:04:03 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p2KVC-0002vK-Ss for help-gnu-emacs@gnu.org; Mon, 05 Dec 2022 18:04:01 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1p2KVA-0004jB-AO for help-gnu-emacs@gnu.org; Tue, 06 Dec 2022 00:03:56 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 05 Dec 2022 18:09:21 -0500 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:141421 Archived-At: Heime wrote: > I need some advice on how to handle optional arguments, > where one either does not pass it or passes t. Optional arguments default to nil so the default version of the function's behavior should do its thing - the default thing - when the optional arguments are nil. If something that isn't default should happen, you can name the optional argument to describe this, say INSERT, meaning the default behavior isn't to insert, but with the optional argument set, the non-default execution kicks in and something is indeed inserted. Then the Elisp will look like this: (when insert (insert ...) ) And vice versa, if the default is it _should_ happen, then the optional argument can be called NO-INSERT (unless no-insert (insert ... ) ) It's up to you to decide what's default and what's optional/non-default ... Take a look at this ... ;;; -*- lexical-binding: t -*- ;; ;; this file: ;; https://dataswamp.org/~incal/emacs-init/meta.el ;; ;; also see: ;; https://dataswamp.org/~incal/emacs-init/w3m/w3m-version.el ;; ;; example: ;; GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.16.0) ;; of 2022-05-22 [commit 714970f5967f2153bb95e35823dbd917e0e5b60b] (defun emacs-version-commit (&optional here) (interactive "P") (let ((ver (replace-regexp-in-string " \\(of\\)" "\\1" (format "%s [commit %s]" (emacs-version) (emacs-repository-get-version) )))) (when here (insert ver) ) (message ver) )) (defalias 'ever #'emacs-version-commit) -- underground experts united https://dataswamp.org/~incal