From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.help Subject: Re: Another question about lambdas Date: Sun, 11 Dec 2022 01:00:15 +0100 Message-ID: <87wn6yyflc.fsf@web.de> References: <87tu23kw9x.fsf@web.de> <861qp67wgm.fsf@gnu.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="23448"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:Z5k2NXVvtsSfvzqO5RTaZCyFkpw= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 11 01:01:11 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 1p49mI-0005x8-Vc for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 11 Dec 2022 01:01:10 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p49lg-0007VJ-0X; Sat, 10 Dec 2022 19:00:32 -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 1p49le-0007V8-S7 for help-gnu-emacs@gnu.org; Sat, 10 Dec 2022 19:00:30 -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 1p49ld-0006an-6a for help-gnu-emacs@gnu.org; Sat, 10 Dec 2022 19:00:30 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1p49lZ-0005BE-Uh for help-gnu-emacs@gnu.org; Sun, 11 Dec 2022 01:00:25 +0100 X-Injected-Via-Gmane: http://gmane.org/ 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: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, 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-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:141612 Archived-At: Hello Arash, it seems you didn't notice that you participated in a quiz! > > What's the result of the following expression - and why? Or maybe > > it is invalid? > > > > #+begin_src emacs-lisp > > (let* ((x 'l) > > (f (lambda () x)) > > (x 'd)) > > (funcall f)) > > #+end_src > With lexical or with dynamic binding? "With lexical or with dynamic binding?" is the correct answer to the question. Yes, the result depends on whether the expression is evaluated with lexical binding or with dynamic. The symbol names intended to give a discrete hint (maybe too discrete). So if we did not have the variable `lexical-binding' to check whether lexical binding is used for evaluation, you could use a test like this: #+begin_src emacs-lisp (let* ((lb t) (getlex (lambda () lb)) (lb nil)) (funcall getlex)) #+end_src I'm sorry that this was again a type "trap" question (everybody in the trap can come out again now). Michael.