From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#66756: 30.0.50; [PATCH] Improve discussion of 'let' in Elisp Introduction manual Date: Thu, 26 Oct 2023 11:30:46 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------pLS8SgkCX4BkOUlIXEdkfVyJ" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20947"; mail-complaints-to="usenet@ciao.gmane.io" To: 66756@debbugs.gnu.org, eliz@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Oct 26 20:32:00 2023 Return-path: Envelope-to: geb-bug-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 1qw59C-0005JK-JO for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 26 Oct 2023 20:31:58 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qw58q-0006eS-G7; Thu, 26 Oct 2023 14:31:36 -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 1qw58m-0006ce-Mg for bug-gnu-emacs@gnu.org; Thu, 26 Oct 2023 14:31:32 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qw58m-0003ei-ER for bug-gnu-emacs@gnu.org; Thu, 26 Oct 2023 14:31:32 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qw59G-0007yn-Eq for bug-gnu-emacs@gnu.org; Thu, 26 Oct 2023 14:32:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 26 Oct 2023 18:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66756 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 66756-submit@debbugs.gnu.org id=B66756.169834508930633 (code B ref 66756); Thu, 26 Oct 2023 18:32:02 +0000 Original-Received: (at 66756) by debbugs.gnu.org; 26 Oct 2023 18:31:29 +0000 Original-Received: from localhost ([127.0.0.1]:34461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qw58i-0007y1-M8 for submit@debbugs.gnu.org; Thu, 26 Oct 2023 14:31:29 -0400 Original-Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]:54433) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qw58g-0007xk-10 for 66756@debbugs.gnu.org; Thu, 26 Oct 2023 14:31:27 -0400 Original-Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-6b89ab5ddb7so1234893b3a.0 for <66756@debbugs.gnu.org>; Thu, 26 Oct 2023 11:30:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698345049; x=1698949849; darn=debbugs.gnu.org; h=in-reply-to:references:to:from:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=DEGQZAdeYkwo3wHH++p6M5GyIwbhJrt/4g4pAT2PTIo=; b=NGZxhOpzwSPI7OHEYFju100pMHRtlPowMiD8tIEAzKZQaFocEeBmIAkjh6HzjOyTFI 14j1J97fMDFnM9ecfTysnkmttBpmPqj1P/NF0NDm/c5uMCmO4R0iTep+wdacLI4HGUCR 1MF/hEe+JCnOMx0EEo8dXuANcgqQv/bNzsW1zzGWnG+z6d4gibJ3XdkYDCmHVK759MEY Motc/KbG9cbPKbfO3JsaHgKX00TXy3Bj3UR4Ks8BzaoHRC7BaNOO2jcbHHLD1LumOLMY xUfx/35vp/UWisqyul8wPfWzka04AXjOYx1nQUmEImpgAnrkIs9NeOsqkd5bjrbDocuj nDBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698345049; x=1698949849; h=in-reply-to:references:to:from:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=DEGQZAdeYkwo3wHH++p6M5GyIwbhJrt/4g4pAT2PTIo=; b=L4/V5U8qS4Q0LJbeOF1RJ5vqQ2ZiCbNZ285VRnrkqMDCzLQdw3No/mjh1ym4O3zWH6 zz/TeYPHWpp129jnbTGJ4K4Po4Y0yCnzx9wJNb7OZ8ZMkraWx65oYmeiZtXbpFy6c38J p4vbvBVIUPAmtC1KLzie0GxUEtFRvsRomSijjY1Ey2wBVGIDkhRY+Yhkfc3zb5H8rScR Jmxy/jk02/KixV5fOROM+V0MODQtPYv6Nc+1K1DwiKUKBMs77yKRMCT6yYfFzAzILNMf YVjlxg3hwyo47FDUHPi6Wm/0j8+NcQR5hB4QvgY3/Igr5HX0kBFcPZi5+VgN8dBVzaFc GmdQ== X-Gm-Message-State: AOJu0YxlYVK5NmGrFeeboekMF1t784Zz7Z4PzT2AgjpDqx129Iv1FHCj F8AdSx37Jv50rJOyCZmv2Y5O6jG8ZLo= X-Google-Smtp-Source: AGHT+IG8YsqSQ3Jm8xy0O5CrVh2ta8K28mT7orrSecAbMlyNNGxwN98Mg8ANmlkEWji2ySnjPEBy1g== X-Received: by 2002:a05:6a00:2e27:b0:6bd:b3b9:649f with SMTP id fc39-20020a056a002e2700b006bdb3b9649fmr387968pfb.7.1698345048694; Thu, 26 Oct 2023 11:30:48 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id s187-20020a625ec4000000b0068ff267f094sm11980235pfb.158.2023.10.26.11.30.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 26 Oct 2023 11:30:48 -0700 (PDT) Content-Language: en-US In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:273310 Archived-At: This is a multi-part message in MIME format. --------------pLS8SgkCX4BkOUlIXEdkfVyJ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 10/26/2023 12:09 AM, Eli Zaretskii wrote: > Thanks. > > The challenge in updating the Lisp Introduction manual is to try to > keep its informal and reader-friendly style as much as possible. It > is not just another ELisp Reference manual! So please try to keep > that in mind when you write the text, and in particular try not to > modify the existing text that is still accurate -- it was written by a > master, and each word there counts, even if it looks at first sight as > not important. Ok, here's a second attempt. I've tried to avoid changing anything that I don't think is truly necessary. I did alter a bit of the original wording to emphasize that under lexical binding, 'let' isn't about time, but about place. For example, that's why I changed this: > This is like understanding that whenever your host refers to ``the house'', he means his house, not yours. to this: > This is like understanding that in your host's home, whenever he refers to ``the house'', he means his house, not yours. My previous concern about the "lexical binding" digression still applies though. However, I'm not sure how to get around that at present; if we want to talk about lexical binding in the manual, we need to get users to enable it, so I think it's unavoidable that we at least mention it. I tried to introduce the jargon as gently as I could (by first introducing the term "binding" on its own before mentioning "lexical/dynamic binding"), but it's still a bit intimidating. On the positive side, when lexical binding is the default, we could remove that entire digression. There's also an argument that the example I added is in the wrong spot, since we haven't actually introduced the 'let' syntax yet. However, I personally find the example to be pretty useful since it shows off one of the key differences between lexical and dynamic binding, and helps show one of the boundaries of the 'let' form's scope. I myself tend to learn best by seeing examples of that sort. Fixing the order so we introduce the syntax first would require more extensive changes to this section... --------------pLS8SgkCX4BkOUlIXEdkfVyJ Content-Type: text/plain; charset=UTF-8; name="0001-Introduce-let-using-lexical-binding-in-the-Lisp-Intr.patch" Content-Disposition: attachment; filename*0="0001-Introduce-let-using-lexical-binding-in-the-Lisp-Intr.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAxMjg0N2UwZDU5YjJkZTM3OTFlZmEwOTBhZGRjMDE2OWU3MTNlNmQxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMjUgT2N0IDIwMjMgMjA6NDM6NTcgLTA3MDAKU3ViamVjdDogW1BB VENIXSBJbnRyb2R1Y2UgJ2xldCcgdXNpbmcgbGV4aWNhbCBiaW5kaW5nIGluIHRoZSBMaXNw CiBJbnRyb2R1Y3Rpb24KCiogZG9jL2xpc3BpbnRyby9lbWFjcy1saXNwLWludHJvLnRleGkg KFByZXZlbnQgY29uZnVzaW9uKTogUmV3b3JrIHRoZQpleHBsYW5hdGlvbiB0byBkaXNjdXNz IGhvdyB0aGluZ3Mgd29yayB1bmRlciBsZXhpY2FsIGJpbmRpbmcKKGluY2x1ZGluZyBob3cg dG8gZW5hYmxlIGl0KS4KLS0tCiBkb2MvbGlzcGludHJvL2VtYWNzLWxpc3AtaW50cm8udGV4 aSB8IDY3ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg NTEgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2xp c3BpbnRyby9lbWFjcy1saXNwLWludHJvLnRleGkgYi9kb2MvbGlzcGludHJvL2VtYWNzLWxp c3AtaW50cm8udGV4aQppbmRleCBmY2U3NTgzZmU5MS4uZTgwNTgzM2Y5NzkgMTAwNjQ0Ci0t LSBhL2RvYy9saXNwaW50cm8vZW1hY3MtbGlzcC1pbnRyby50ZXhpCisrKyBiL2RvYy9saXNw aW50cm8vZW1hY3MtbGlzcC1pbnRyby50ZXhpCkBAIC0zNjAyLDI0ICszNjAyLDU5IEBAIFBy ZXZlbnQgY29uZnVzaW9uCiBAY2luZGV4IEBzYW1we3ZhcmlhYmxlLCBsb2NhbH0sIGRlZmlu ZWQKIFRoZSBAY29kZXtsZXR9IHNwZWNpYWwgZm9ybSBwcmV2ZW50cyBjb25mdXNpb24uICBA Y29kZXtsZXR9IGNyZWF0ZXMgYQogbmFtZSBmb3IgYSBAZGZue2xvY2FsIHZhcmlhYmxlfSB0 aGF0IG92ZXJzaGFkb3dzIGFueSB1c2Ugb2YgdGhlIHNhbWUKLW5hbWUgb3V0c2lkZSB0aGUg QGNvZGV7bGV0fSBleHByZXNzaW9uLiAgVGhpcyBpcyBsaWtlIHVuZGVyc3RhbmRpbmcKLXRo YXQgd2hlbmV2ZXIgeW91ciBob3N0IHJlZmVycyB0byBgYHRoZSBob3VzZScnLCBoZSBtZWFu cyBoaXMgaG91c2UsIG5vdAoteW91cnMuICAoU3ltYm9scyB1c2VkIGluIGFyZ3VtZW50IGxp c3RzIHdvcmsgdGhlIHNhbWUgd2F5LgorbmFtZSBvdXRzaWRlIHRoZSBAY29kZXtsZXR9IGV4 cHJlc3Npb24gKGluIGNvbXB1dGVyIHNjaWVuY2UgamFyZ29uLCB3ZQorY2FsbCB0aGlzIGBg YmluZGluZycnIHRoZSB2YXJpYWJsZSkuICBUaGlzIGlzIGxpa2UgdW5kZXJzdGFuZGluZyB0 aGF0CitpbiB5b3VyIGhvc3QncyBob21lLCB3aGVuZXZlciBoZSByZWZlcnMgdG8gYGB0aGUg aG91c2UnJywgaGUgbWVhbnMgaGlzCitob3VzZSwgbm90IHlvdXJzLiAgKFN5bWJvbHMgdXNl ZCBpbiBhcmd1bWVudCBsaXN0cyB3b3JrIHRoZSBzYW1lIHdheS4KIEB4cmVme2RlZnVuLCAs IFRoZSBAY29kZXtkZWZ1bn0gTWFjcm99LikKIAotTG9jYWwgdmFyaWFibGVzIGNyZWF0ZWQg YnkgYSBAY29kZXtsZXR9IGV4cHJlc3Npb24gcmV0YWluIHRoZWlyIHZhbHVlCi1AZW1waHtv bmx5fSB3aXRoaW4gdGhlIEBjb2Rle2xldH0gZXhwcmVzc2lvbiBpdHNlbGYgKGFuZCB3aXRo aW4KLWV4cHJlc3Npb25zIGNhbGxlZCB3aXRoaW4gdGhlIEBjb2Rle2xldH0gZXhwcmVzc2lv bik7IHRoZSBsb2NhbAotdmFyaWFibGVzIGhhdmUgbm8gZWZmZWN0IG91dHNpZGUgdGhlIEBj b2Rle2xldH0gZXhwcmVzc2lvbi4KLQotQW5vdGhlciB3YXkgdG8gdGhpbmsgYWJvdXQgQGNv ZGV7bGV0fSBpcyB0aGF0IGl0IGlzIGxpa2UgYSBAY29kZXtzZXRxfQotdGhhdCBpcyB0ZW1w b3JhcnkgYW5kIGxvY2FsLiAgVGhlIHZhbHVlcyBzZXQgYnkgQGNvZGV7bGV0fSBhcmUKLWF1 dG9tYXRpY2FsbHkgdW5kb25lIHdoZW4gdGhlIEBjb2Rle2xldH0gaXMgZmluaXNoZWQuICBU aGUgc2V0dGluZwotb25seSBhZmZlY3RzIGV4cHJlc3Npb25zIHRoYXQgYXJlIGluc2lkZSB0 aGUgYm91bmRzIG9mIHRoZSBAY29kZXtsZXR9Ci1leHByZXNzaW9uLiAgSW4gY29tcHV0ZXIg c2NpZW5jZSBqYXJnb24sIHdlIHdvdWxkIHNheSB0aGUgYmluZGluZyBvZgotYSBzeW1ib2wg aXMgdmlzaWJsZSBvbmx5IGluIGZ1bmN0aW9ucyBjYWxsZWQgaW4gdGhlIEBjb2Rle2xldH0g Zm9ybTsKLWluIEVtYWNzIExpc3AsIHRoZSBkZWZhdWx0IHNjb3BpbmcgaXMgZHluYW1pYywg bm90IGxleGljYWwuICAoVGhlCi1ub24tZGVmYXVsdCBsZXhpY2FsIGJpbmRpbmcgaXMgbm90 IGRpc2N1c3NlZCBpbiB0aGlzIG1hbnVhbC4pCitAY2luZGV4IGxleGljYWwgYmluZGluZwor QGNpbmRleCBiaW5kaW5nLCBsZXhpY2FsCitAY2luZGV4IGR5bmFtaWMgYmluZGluZworQGNp bmRleCBiaW5kaW5nLCBkeW5hbWljCitCZWZvcmUgd2UgYmVnaW4gZGlzY3Vzc2luZyBAY29k ZXtsZXR9IGluIGRldGFpbCwgd2UgbXVzdCBmaXJzdCBtZW50aW9uCithbiBpbXBvcnRhbnQg bm90ZS4gIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIEVtYWNzIExpc3AgdXNlcyBhIGZvcm0g b2YKK3ZhcmlhYmxlIGJpbmRpbmcgY2FsbGVkIGBgZHluYW1pYyBiaW5kaW5nJycuICBIb3dl dmVyLCB0aGlzIG1hbnVhbAord2lsbCBkaXNjdXNzIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiBi aW5kaW5nLCBjYWxsZWQgYGBsZXhpY2FsIGJpbmRpbmcnJworKGlmIHlvdSBoYXZlIHByb2dy YW1tZWQgaW4gb3RoZXIgbGFuZ3VhZ2VzIGJlZm9yZSwgeW91J3JlIGxpa2VseQorYWxyZWFk eSBmYW1pbGlhciB3aXRoIGhvdyBsZXhpY2FsIGJpbmRpbmcgYmVoYXZlcykuICBJbiBvcmRl ciB0byB1c2UKK2xleGljYWwgYmluZGluZywgeW91IHNob3VsZCBhZGQgc29tZXRoaW5nIGxp a2UgdGhpcyB0byB0aGUgZmlyc3QgbGluZQorb2YgeW91ciBFbWFjcyBMaXNwIGZpbGU6CisK K0BleGFtcGxlCis7OzsgLSotIGxleGljYWwtYmluZGluZzogdCAtKi0KK0BlbmQgZXhhbXBs ZQorCitGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzLCBAcHhyZWZ7U2VsZWN0aW5n IExpc3AgRGlhbGVjdCwgLCAsCitlbGlzcCwgVGhlIEVtYWNzIExpc3AgUmVmZXJlbmNlIE1h bnVhbH0uCisKK1dpdGggdGhhdCBvdXQgb2YgdGhlIHdheSwgd2UgY2FuIGdldCBiYWNrIHRv IGRpc2N1c3NpbmcgQGNvZGV7bGV0fS4KK0Fub3RoZXIgd2F5IHRvIHRoaW5rIGFib3V0IEBj b2Rle2xldH0gaXMgdGhhdCBpdCBkZWZpbmVzIGEgcGxhY2UgaW4KK3lvdXIgY29kZSB3aGVy ZSB0aGUgdmFyaWFibGVzIHlvdSBuYW1lZCBoYXZlIHRoZWlyIG93biBsb2NhbCBtZWFuaW5n LgorT3V0c2lkZSBvZiB0aGUgQGNvZGV7bGV0fSBib2R5LCB0aGV5IGhhdmUgYW5vdGhlciBt ZWFuaW5nIChvciB0aGV5IG1heQorbm90IGJlIGRlZmluZWQgYXQgYWxsKS4KKworVGhpcyBt ZWFucyB0aGF0IGluc2lkZSB0aGUgQGNvZGV7bGV0fSBib2R5LCBjYWxsaW5nIEBjb2Rle3Nl dHF9Citmb3IgYSB2YXJpYWJsZSBuYW1lZCBieSB0aGUgQGNvZGV7bGV0fSBleHByZXNzaW9u IHdpbGwgc2V0IHRoZSB2YWx1ZQorb2YgdGhlIEBlbXBoe2xvY2FsfSB2YXJpYWJsZSBvZiB0 aGF0IG5hbWUuICBUaGlzIGFsc28gbWVhbnMgdGhhdAorb3V0c2lkZSBvZiB0aGUgQGNvZGV7 bGV0fSBib2R5LCBjYWxsaW5nIEBjb2Rle3NldHF9IGZvciBhIHZhcmlhYmxlCituYW1lZCBi eSB0aGUgQGNvZGV7bGV0fSBleHByZXNzaW9uIHdpbGwgQGVtcGh7bm90fSBhZmZlY3QgdGhh dCBsb2NhbAordmFyaWFibGUuCisKK0ZvciBleGFtcGxlLCBpZiB5b3UgY2FsbCBhIGZ1bmN0 aW9uIGluc2lkZSBvZiBhIEBjb2Rle2xldH0KK2JvZHksIHRoYXQgZnVuY3Rpb24ncyBib2R5 IHdvdWxkIGJlIHVuYWJsZSB0byBgYHNlZScnIChvciBtb2RpZnkpIHRoZQordmFsdWUgb2Yg YSBsb2NhbCB2YXJpYWJsZSBmcm9tIHRoZSBAY29kZXtsZXR9IGV4cHJlc3Npb246CisKK0Bl eGFtcGxlCisoc2V0cSB4IDEpCisKKyhkZWZ1biBnZXR4ICgpCisgIHgpCisKKyhsZXQgKCh4 IDIpKQorICAoZ2V0LXgpKQorICAgICBAcmVzdWx0e30gMQorQGVuZCBleGFtcGxlCiAKIEBj b2Rle2xldH0gY2FuIGNyZWF0ZSBtb3JlIHRoYW4gb25lIHZhcmlhYmxlIGF0IG9uY2UuICBB bHNvLAogQGNvZGV7bGV0fSBnaXZlcyBlYWNoIHZhcmlhYmxlIGl0IGNyZWF0ZXMgYW4gaW5p dGlhbCB2YWx1ZSwgZWl0aGVyIGEKLS0gCjIuMjUuMQoK --------------pLS8SgkCX4BkOUlIXEdkfVyJ--