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: How users start programming in Emacs Lisp... Date: Sun, 30 May 2021 21:57:13 +0300 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26406"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0.7+183 (3d24855) (2021-05-28) Cc: help-gnu-emacs@gnu.org To: Christopher Dimech Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sun May 30 21:02:30 2021 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 1lnQhi-0006fU-3K for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 30 May 2021 21:02:30 +0200 Original-Received: from localhost ([::1]:43420 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lnQhh-0004Ux-44 for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 30 May 2021 15:02:29 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42320) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lnQdc-0002rP-BD for help-gnu-emacs@gnu.org; Sun, 30 May 2021 14:58:17 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:33095) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lnQdY-0000Ug-8L for help-gnu-emacs@gnu.org; Sun, 30 May 2021 14:58:16 -0400 Original-Received: from localhost ([::ffff:102.86.7.33]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 00000000000AE2D6.0000000060B3E021.00006502; Sun, 30 May 2021 11:57:36 -0700 Mail-Followup-To: Christopher Dimech , help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham 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:130335 Archived-At: * Christopher Dimech [2021-05-30 20:22]: > I am having some problem figuring out what the following does, having format > repeated twice. > > (format format ": " name) In Lisp at first place comes usually the function, but other list elements are arguments to the function. You could inspect `format' function with {C-h f format RET} as it tells you that you apply it as: format is a built-in function in ‘C source code’. (format STRING &rest OBJECTS) Format a string out of a format-string and arguments. The first argument is a format control string. The other arguments are substituted into it to make the result, a string. The STRING is format-string, for example "%s" which means that %s will be replaced with the argument or one of OBJECTS. (format "%s" "Hello") ⇒ "Hello" (format "Hello %s" "John") ⇒ "Hello John" And the format-string which comes at second place is in my case named also `format' why not. (let ((format-string "Hello %s")) (format format-string "John")) ⇒ "Hello John" or like this: (let ((format "Hello %s")) (format format "John")) ⇒ "Hello John" It will stop being confusing when you fully understand what is list in Lisp and that functions come first and everything else are arguments. This may not be best technical explanation, it is just practical. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/