From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: Re: global-set-key with function taking arguments Date: Sun, 01 Nov 2020 14:37:08 +0100 Message-ID: <87361txkor.fsf@zoho.eu> References: <87r1pdxqey.fsf@zoho.eu> <87lfflxo76.fsf@zoho.eu> <87h7q9xmim.fsf@zoho.eu> Reply-To: Emanuel Berg Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33862"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:qZ+OSMWP73cnC1cKjro1I4T9ZOI= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 01 14:37:50 2020 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 1kZDYM-0008iL-Hz for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 01 Nov 2020 14:37:50 +0100 Original-Received: from localhost ([::1]:43704 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZDYL-0003Gl-K3 for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 01 Nov 2020 08:37:49 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36322) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kZDXt-0003GR-AR for help-gnu-emacs@gnu.org; Sun, 01 Nov 2020 08:37:24 -0500 Original-Received: from static.214.254.202.116.clients.your-server.de ([116.202.254.214]:49106 helo=ciao.gmane.io) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kZDXr-0002d9-HK for help-gnu-emacs@gnu.org; Sun, 01 Nov 2020 08:37:21 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1kZDXn-0008AK-Fy for help-gnu-emacs@gnu.org; Sun, 01 Nov 2020 14:37:15 +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-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/01 05:57:45 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] 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-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 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:124861 Archived-At: Christopher Dimech wrote: >> IMO proper functions (defuns) should be used with keys, not >> lambdas. Except for perhaps very simple or temporary solutions. > > Agreed. For simple keybindings using a few lines of Emacs In-Built > Commands, using Anonymous Function is sensible, rather than having > to make a 'defun'. Anonymous Functions are especially when you see > no reason why one would normally call it. Because you may also > document the Anonymous Function, the 'lamdba' construct, Anonymous > Functions become a pragmatic way of working. Yes but ... if it is such a small function containing just a few lines, chances are it is something basic to you and your way of using Emacs, and if it is, chances are, further, that you will want it again, but from a slightly different setting, e.g., another major mode. If and when that happens, to avoid duplicate code, turn the lambda into a defun and call that from two places, rather than killing/yanking the original lambda... > Documentation for an Anonymous Function should have the same > purpose as for a 'defun'. Conssequently, Documentation for an > Anonymous Function should not lack much from documentation of > a 'defun'. They seem to have a different focus, namely how to call it. This makes sense as, having no name, I mean, yeah, how do you call it?! Again, see the note here on lambda docstrings: C-h f lambda RET -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal