From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ignacio Casso Newsgroups: gmane.emacs.bugs Subject: bug#54399: 27.2; Problems with (let ((custom-variable ...)) (autoload-function ...)) Date: Fri, 18 Mar 2022 10:38:45 +0100 Message-ID: References: <87sfrgu8ju.fsf@gnus.org> <875yocm7n6.fsf@web.de> <87czijr4gj.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5583"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.6.10; emacs 29.0.50 Cc: Michael Heerdegen , 54399@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Mar 18 10:57:14 2022 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 1nV9M9-0001FO-O4 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 18 Mar 2022 10:57:13 +0100 Original-Received: from localhost ([::1]:46888 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nV9M8-0005zz-Ls for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 18 Mar 2022 05:57:12 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:35490) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nV9Ly-0005za-HN for bug-gnu-emacs@gnu.org; Fri, 18 Mar 2022 05:57:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:34228) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nV9Ly-000061-9b for bug-gnu-emacs@gnu.org; Fri, 18 Mar 2022 05:57:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nV9Ly-0002te-8N for bug-gnu-emacs@gnu.org; Fri, 18 Mar 2022 05:57:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ignacio Casso Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 18 Mar 2022 09:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 54399 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 54399-submit@debbugs.gnu.org id=B54399.164759741211117 (code B ref 54399); Fri, 18 Mar 2022 09:57:02 +0000 Original-Received: (at 54399) by debbugs.gnu.org; 18 Mar 2022 09:56:52 +0000 Original-Received: from localhost ([127.0.0.1]:56358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nV9Lo-0002tE-7v for submit@debbugs.gnu.org; Fri, 18 Mar 2022 05:56:52 -0400 Original-Received: from mail-oln040092065039.outbound.protection.outlook.com ([40.92.65.39]:28738 helo=EUR01-HE1-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nV9Lm-0002t1-JS for 54399@debbugs.gnu.org; Fri, 18 Mar 2022 05:56:51 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jjA7qM5WoKP/wWu9+nrJh5u7xFOzTaygohbM7OhxOt9RtV/kd7SUOqUU07DAHk+JKulgIRwBdfh7bE4i/UIRKYanvwaxO/G/maiCZBFidE+AE7mZyKTA7tPOxbnT3Sgj5tTxWJU8hQw7vPI79R7z2QYyiKY/w+NNkagTcMtlD85oimFQ5E0BNsqdGoxDWJFQj2c0nofENgFGfaBUpc5P1jnLGBX4+xLZurW2WPElHg01lk2ncAABj+YCgCKD33vLRcPtKwT08xipk6P1rNCaCKylhZneYlksaw/pfYReyNejJVjadxhyBeMenLCKE9i9yU70wpR2dVYfXdNZkidfUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Z1BrYRurvKqVr3rbWIhGLIEr18z8E8Yadxd3HD9+eRw=; b=J1EdDNKpgrmwEZogZOQDQ2FzIrmiL3XBGsmSoRvZP4ShDwqUCRQp7XktRD8GED56xHdNAeXHI7aW8GvwqLK8nm4miCOXG9oaU8AHgkfP3ydrGRjP8sC76SdpM6K6a0rN06vqutgYJe/qc2eP1nzh6sknkRBjJrlD2hJfDVPJvs0JWq9SKusNhEqAijDcWZcher06VY6RdiCZcxI/SthofYsCv47m6NGBbGlqTOqa27XeHjE9c9iVQxbI1cKAzyaq9VHdf6nQyawmlGSO2W7IwRaLZ4P14Nhv1K5+gpsk4G7BoTXZbOgVGS4LwbOeiBPJJ3b+FrNuRbhZj9QfgBcuSA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z1BrYRurvKqVr3rbWIhGLIEr18z8E8Yadxd3HD9+eRw=; b=CkdyfQZccCgyrRWUijl+OsF4a/vlHbZCXBIX0RY82YginGtiGWn/2/lrtYJu2SN1Jx/EZ045RjxaTLcKxrMZCT6UlNejSiL9pUk4jv7mU2qXAXZcJ1gV9o/JXKCb0hleZWGhomiKHTqjEXSF1CUJpSsiSOr4cN7Gm2YGanHzWUQJBjCi2a0Z3SavxiGET9F7dA2zYT9kex/Fro+LLcWhrGcpIk4pVpTzwCErAKiDBtLlzbgP7GsiNEiYxxBTerdKNBU6uhWwfsU8xGg71OGGTFvBnQ3Pftps/wPe8/dXgnbLOs321ZXOJZsQntBnCeUxmAl4YWDK8kJozRKphlJpDw== Original-Received: from PAXPR06MB7760.eurprd06.prod.outlook.com (2603:10a6:102:155::8) by HE1PR0601MB2364.eurprd06.prod.outlook.com (2603:10a6:3:99::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.15; Fri, 18 Mar 2022 09:56:42 +0000 Original-Received: from PAXPR06MB7760.eurprd06.prod.outlook.com ([fe80::e05a:8d81:8648:b10f]) by PAXPR06MB7760.eurprd06.prod.outlook.com ([fe80::e05a:8d81:8648:b10f%9]) with mapi id 15.20.5081.018; Fri, 18 Mar 2022 09:56:42 +0000 In-reply-to: <87czijr4gj.fsf@gnus.org> X-TMN: [SKP1jLSzMh13nLJj2DCWLy0PNCeh/e5J] X-ClientProxiedBy: MR2P264CA0186.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::25) To PAXPR06MB7760.eurprd06.prod.outlook.com (2603:10a6:102:155::8) X-Microsoft-Original-Message-ID: <878rt7lh2i.fsf@hotmail.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9890b312-09a1-4000-a866-08da08c59ac2 X-MS-TrafficTypeDiagnostic: HE1PR0601MB2364:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pD83+SyUArYi3oh4tYiZkoVq5WSTiPKHHu6PxG43rqs61m+dS3cluj3uLt/25epPaq4q5xRpYI/cwaH0+cdNGDrOADLuMID1DeS5JeuRnb5wn/DZenUBdO6cJ3twUvgwyqEJaoBI+lJf84phx/4iSCRE9FATcxugEMzqbNv4Sp57BUctk3L+g3DE639y9Rif1uEl67SKU26cMns0zy/FygTgZb6FBg1v3DD3MAKiSovOUxQQnze0DdRAW2aKwtmjjRUlEA4KO9qdYnMeA0+EtzvuxF8UZl3M9adqPcrBc2hbTCo6vIH8YNeMdtitAhKDUu6I4zkvVSWppVwpZSmGOf2IURRXjiXEPIfBLWhF/u/k5bjpAhkn3gzHB3n+squJqvjGNhgBiCER8K16XsmM3CUfZtAnaLgjfBL5q56Ky5Gh1XpPgpWmikTsEO+R2YSdpKlLz+T0MhGgYzAj4TEywF3B/pm7eewKct6sc9+QvE5sVW5B9/RWO5xxIWouxaxDTcSOerZVm1H8CoAmOqqrOtGNomVJJ1uXgGmaRuOwNY+mWlbzy91dOKhcExgoxAyti0ageHR8nYE6pEvag5I0XQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cpS50YAgisL8qCXW9OguS4NH80Yp1rI4lf1zoVFUo3kaxlp71zXJn0ygDHEkubUW7xuXydsDXm/jgjgw706nDNMhim5BS/9tPjuz/q8+pmZN5aA2d13FqscW6JYxe0djROyRjy7o7hwthej3qxYW1J833Go7kcXfpCzOX9KAMlLl71QskhOaqPmvFN1IK5wLbXRSzLLhWYk4kSs5IhVnruV14rWYJc462P6gQVP3zZnDmbD9ezwj61GX634cK+PcOvDoofKfW/xTQrJsmap4Z2CKtSC7AzhkoyLK7bKd9V9vakeY0W6xFmoJ0wNuDr/+smmCZIphHG5dcSXZg4CSAjJTWVzV4yxtY7FkAnZEFntaYy9OUs7CLmccX6ETLkfo2+psO1Ptcaryy1OO10fG5MY52JVbyFPLwILBO0C18YaeNZW0VUPT0b4jx4VFf0t56Ovts/7rSrxJkyGqgMIpwJiV0/wEFvLP+TNxPGoXVRw8+mANaczRusgN4dvU/TKSc6tQQFKhuZc4yLRxDKZSYIY3R9sE89Tp1hrwnG1ySRrsMv5S3XjxS/CEZieCXVHZ0Bji59T1bT2ixSHzEweC/6piqqbeiV1wlpVLA0LATa5tI3CKUqPMWPwzWt2vM5s/IP9iGfXBu0A/hqVNbFxy9t5Jzcn/bZ//uO+jvgUtCIbvEjBA3QRR99UeKblzAbUTJByfqcp+gOdy/d80NuMnngIn2wFDK3orf14b7uurpceJf8ByCMXXKBpRBd mZch82b4qrMrDt1kXJ+L1USb778fnCDIrFD/pccUJ842R0nv3wIYZ9Wz1LIyPaATXRxiIajUq9gfNN6nkbDibyD2P2W7AbytfJ X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-6e454.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 9890b312-09a1-4000-a866-08da08c59ac2 X-MS-Exchange-CrossTenant-AuthSource: PAXPR06MB7760.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2022 09:56:42.8425 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0601MB2364 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" Xref: news.gmane.io gmane.emacs.bugs:228538 Archived-At: Lars Ingebrigtsen writes: > Michael Heerdegen writes: > >> Hmm - I don't know much about the background, but wasn't >> `set-default-toplevel-value' invented to make just that work? See >> commit >> >> a104f656c8 Make defvar affect the default binding outside of any let. >> Stefan Monnier Fri Aug 2 17:16:33 2013 -0400 > > Ah, newfangled code. =F0=9F=98=80 > >> AFAIU this bug report is a request to (1) correct some docstrings and >> (2) use `set-default-toplevel-value' instead of `set-default' at more >> places in custom.el to assign values, where appropriate. > > Right. I think custom.el already uses `set-default-toplevel-value' where appropriate by default. So my request is (1) to correct the docstrings in custom.el to reflect so, so that users know to use it instead of `set-default', and (2) Add some warnings somewhere, although I'm not sure where. I personally can not think of a single case in which someone would want to use `set-default' instead of `set-default-toplevel-value'. If I understand them correctly, they both do the same outside a let binding, and I don't see why someone would want the `set-default' behavior inside the let binding. In fact, I guess most people assume that `set-default' behaves like `set-default-toplevel-value' (I did at least). So I would at least talk about this in the docstrings of `set-default', and also `default-value' and `default-boundp' which suffer the same problem. In fact, now that I see it, the docstring of the later is just wrong. The others just don't mention let bindings and only talk about buffer-local bindings, but that one explicitly says that the function can be used to know if a variable has a non-void value outside of a let-binding, and with dynamic binding that doesn't work (see snippet below). (setq lexical-binding nil) (let ((another-fresh-var 1)) (default-boundp 'another-fresh-var)) ;; I expect nil, it returns t