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: Functions with multiple optional arguments Date: Fri, 21 Oct 2022 05:29:50 +0200 Message-ID: <87fsfhluq9.fsf@dataswamp.org> References: <87sfjn2ibz.fsf@dataswamp.org> <87lepeyvx6.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32783"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:m4OBlfvlR0YHGbdOQf7bRypHEmM= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sat Oct 22 12:11:49 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 1omBTp-0008Jp-5Z for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 22 Oct 2022 12:11:49 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1omB4L-0002Yc-Sg; Sat, 22 Oct 2022 05:45:30 -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 1olioL-0007RA-T9 for help-gnu-emacs@gnu.org; Thu, 20 Oct 2022 23:35:05 -0400 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 1olioK-0007Yz-4f for help-gnu-emacs@gnu.org; Thu, 20 Oct 2022 23:35:05 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1olioI-00016p-1B for help-gnu-emacs@gnu.org; Fri, 21 Oct 2022 05:35:02 +0200 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: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sat, 22 Oct 2022 05:45:09 -0400 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: , Original-Sender: "help-gnu-emacs" Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:140276 Archived-At: Jean Louis wrote: >>>> CL has another way, more practical probably, to assign >>>> default values to optional arguments and that can be used >>>> in Elisp as well with `cl-defun' ... >>> >>> I keep anything like Common Lisp for Common Lisp and >>> strive to keep Emacs Lisp functions without CL stuff for >>> clarity of my mind. >> >> If so, relax, as `cl-defun' is as much Elisp as `defun' ... >> >> C-h f cl-defun RET >> >> It's in cl-macs.el ... > > I do not load what is not needed. Well, it's not about what's needed or not, there are obviously several ways to do this as we have seen in this thread already, and what `cl-defun' offers is another such solution, one that some people would say is more clean than the solutions with `or' and `setq'/`let' ... > And Emacs Lisp is not Common Lisp, no need to conform to it. Again, there is no need to do any of this but it remains that `cl-defun' is an Elisp macro ... -- underground experts united https://dataswamp.org/~incal