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.bugs Subject: bug#59786: Allowing arbitrary expressions in cl-labels Date: Fri, 13 Jan 2023 14:47:52 +0100 Message-ID: <87r0vybl6f.fsf@web.de> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21085"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 59786@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jan 13 16:17:07 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 1pGLnm-0005Ez-PK for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 13 Jan 2023 16:17:06 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGKRD-000667-Bx; Fri, 13 Jan 2023 08:49:51 -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 1pGKQZ-0005jR-Px for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2023 08:49:10 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGKQY-00073W-Kf for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2023 08:49:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pGKQY-00065m-5a for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2023 08:49:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 13 Jan 2023 13:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59786 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 59786-submit@debbugs.gnu.org id=B59786.167361768623288 (code B ref 59786); Fri, 13 Jan 2023 13:49:02 +0000 Original-Received: (at 59786) by debbugs.gnu.org; 13 Jan 2023 13:48:06 +0000 Original-Received: from localhost ([127.0.0.1]:49905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pGKPe-00063X-5e for submit@debbugs.gnu.org; Fri, 13 Jan 2023 08:48:06 -0500 Original-Received: from mout.web.de ([212.227.15.4]:59201) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pGKPc-00062M-AF for 59786@debbugs.gnu.org; Fri, 13 Jan 2023 08:48:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1673617674; bh=nab5GbTjOU/8czPCqx5u5r26AUBPzLxV2zsUF4wZF30=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=TKU/pcHZGS8OqmK1jC5sjfY6fPao2JaXTkfqzZubL36E/L2rsc11O24E2mVM3VoTc ezgMuAI4FBOS9T7lwe7vtUBhPG2A4oXxaXqARutBDqf7fdQ1OyyH3r12TO1QN+M6zw z6938RSc64sEU04y18awDHH2+XAkbGyt6qF20QzH1fEapO1TCJdaL0qLaUc3xJHFU1 67nz8l6fj8Iy/+ohTWJSvdFb4nPH8TgReNIjHOPfLOJbjJubJHFBbIQ5K+VdqtiNDZ H3wyCq1oyj1yvAU+VFRlmtzpfS4enM2iCqP4GlBuHKM1Cq99ZOLkk6UyoivBzatsCe GWhdANXwxqSpg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Original-Received: from drachen.dragon ([84.59.210.57]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1N9LEG-1odt5a05G0-015Kz2; Fri, 13 Jan 2023 14:47:54 +0100 In-Reply-To: (Stefan Monnier's message of "Fri, 02 Dec 2022 14:44:13 -0500") X-Provags-ID: V03:K1:qYyZMFEfQbE4UY73cK+vjnxTx1NUGWNPd/t2teNqGREsH3eTniF /SO6Ym6DiELZUX6wNcGiyjSy5hwkPCElAO4kx+nRdeNJS0LRLW7nqxhDIUdFCn2R4FfQXyL 5JqFfin2kQCr4IsWHh1Nia622/8efZ1MgzzWD9DV2lF/FkSJKHMJeE5Ei7jLpBzBU6qlOkv HupMRDz6JruH26ryULVfQ== UI-OutboundReport: notjunk:1;M01:P0:DVXbCAW74z4=;bpkqgxEbOO4WTfCDvvWpDWYDw7p 4QH3OB3CqqVyzG0H62XPuyvc1OXUSxnAK4JhrlPNp9bVYJlsoZC8sYhsbO7bCtTd2dXeYOCeL BqJYdEPb//IEXTTvYLzHIw9pb35D+sTE4+lXbrqow90X3a0vg+JeRn6+uD3P6o6DBjBgcqPFL 3CbUKOe12zGyCKu35teni8IMUhPX3+U+SW1QfP+zN6DZdHSn/ZqYdHG/z2chUyc6TzLrs+6a5 UmKiWo+VFWvTySYSvWAHmGmsqQkrO96tkS3P4Hckcf8QBevnsggvsuHWRXpBDKKdez2z/ZpIS Viu3jXyc0zkpyo1skvXq3EkKSwn6H4zWrnqGVYTU1fy212UCTgQmf9G3AUPqVyXLkh40xCf9n 8z3NlPPNAZq8gsnicU9Z4jgg9l6F8L1JW+LSB8ZaTBYhKfQCnLP9QYs+JO0ajSkk5/3d9Rdxn cU+GsoUfNsdRvfeEEQW2rnArIr+UxbB4rkA4Ak7TQSsxuncdoRYK6VvuLSDO/xrBRHHB/M8EU nVxgiM89VyTmwM1k3u2BsUYR915zLHJ0MPXEMDCKbjX7QbIibQtrPJfbtnh6jo6066NBx+yF4 uPffSiJjam8AUkEOgdrKKJ+hH4qzHvwnzVInvOfcJ4JnvHkkm8dQC8X1K5I/dGWdhs+/MmYil LAc/SgrJKsR90USpP/qIjQvRzcpnB7EdfnwRNdcw0g+djo0y17JbLfav6lZQ27T8NZPe73vAF LR/XMRBNEW9s0ZVgNjbGFkZTs3RVvjnanZJKKIJ6oFB1cw8EGAaqEvjwYAfnOYGRn4gjeX42 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:253297 Archived-At: Stefan Monnier writes: > The patch below uses this "new new" syntax (and adjusts `cl-flet` to > also support this new new syntax). It still lacks a NEWS entry (as > well as updating the CL manual), but before I do that, I'd like to hear > what other people think, I like the idea to implement this kind of feature for `cl-labels'. It's a good change IMO. I don't like the syntax I think (ugly). The rest of this answer is discussing this detail: I don't recall all details about the ambiguity of the empty body case, so forgive me if I'm missing something. A binding like (my-fun (var1 var2)) with an empty body would give you compiler warnings anyway. Would this be an alternative to your "=" style syntax: To specify a local function with an empty body one would have to use local variable names starting with "_": (my-fun (_var1 _var2)) If not all variables start with an underscore or not all list members are symbols, the binding is interpreted as specifying an expression evaluating to the function to bind. This assumes that "_var" never specifies a named function. Michael.