From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.devel Subject: Re: Why is FUNC in cl-callf not allowed to be an expression? Date: Thu, 16 May 2019 04:18:53 +0200 Message-ID: <87d0kjb0qa.fsf@web.de> References: <874l631ek1.fsf@web.de> <87pnoqtuhm.fsf@web.de> <87r2961gox.fsf@web.de> <87mujohasa.fsf@web.de> <87a7fn3c6c.fsf@web.de> <875zqb3ab4.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="137767"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu May 16 04:19:47 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hR5zl-000Zjf-PG for ged-emacs-devel@m.gmane.org; Thu, 16 May 2019 04:19:46 +0200 Original-Received: from localhost ([127.0.0.1]:47122 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hR5zk-0007Z5-6t for ged-emacs-devel@m.gmane.org; Wed, 15 May 2019 22:19:44 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:35317) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hR5z6-0007Yl-CP for emacs-devel@gnu.org; Wed, 15 May 2019 22:19:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hR5z5-000290-Iy for emacs-devel@gnu.org; Wed, 15 May 2019 22:19:04 -0400 Original-Received: from mout.web.de ([212.227.17.12]:56069) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hR5z5-00028O-97 for emacs-devel@gnu.org; Wed, 15 May 2019 22:19:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1557973135; bh=vGUnQ3L7BoZsh7ll9EWAAsN/3xYBjbZfMV0s8ljok24=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=Q2Ye7bIDcYp+Ix2lhMxYUK0m0vn/Dxi6bQE91RMflBV/tNzdz8SdOrWlClMS1UzJc ZU6dieK9hPdANHnvC/3xB5p88hhOzP2dAyp9F7u75N6RwQU+yCG3JttslW11ZGenyY pSJIsJhJeBXtnUJ/I2USZrdmlRKdziOYfo0kfOts= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from drachen.dragon ([188.110.143.34]) by smtp.web.de (mrweb102 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MUF4Q-1hIoXd0sZG-00R1Ww; Thu, 16 May 2019 04:18:55 +0200 In-Reply-To: <875zqb3ab4.fsf@web.de> (Michael Heerdegen's message of "Wed, 15 May 2019 19:19:11 +0200") X-Provags-ID: V03:K1:msgPlJ8+eGvUwVOTq/J5q8H0s+mNv/sGGBEqcE+CIl97yBhxw9j XOvgKTpXUHLvk1YKvXN2ReZ97qWMtoh5H3Kh7XerLPnO3s75J5VDlLfIyALZ6j4j5MYwVrR 4Es3f8RY80crZqtCCJVh8FmY34K8HJvzt05FdTeVNIS7VDYY5N71Bul2uCA0EYZJlY0k1De NPRNkO/wV3cPFiTqZUJrA== X-UI-Out-Filterresults: notjunk:1;V03:K0:2wF9hY6zT2A=:ZMaIGW3Vl+GfIuT8y3cXmv CKKZ23x5sJ9/8uMV/54iehOTBg3D/QgoMhM+x+5r8O78AKPMjeusbErpGlX0a7Wo16EDSh1pQ PTU8iCXAxaIJKpsZKChCb9WzI25Wb35M+kQ55/IWI0H1Ofv99MW0bTgRYB9K7lSHv29pLE2tU BcwfusTQIq2Nzs8ioS114v1uV1x506Db88+9mYOv9f6QbW5b8LTIoHFlUhXwe374HcD7qAzV4 SNOS3+Jiy6hnCciitNKeFrUhVwdPQG15vhz26iBgrVGnl0EmzUYNUKy6qA0yEiLymsBgApx2L jO/ZKdaqjNrXT7E8+xVX9MNN689P9Nlwt+GWB6/AiB9/hQC4vPfzQ8yxW83pf6GPjLP/JBz5F ulhxAPVUoVBgXDtO10XrXievvzzVF0AFbhgrhE4op7QTAuZYQHa5ssJlv7cjgAiZvJGJLArq1 L5P6tRCPZfakeejpsg042+c+0R9QpsvqaTF3mHCkA5nqv0bIVGBXOll8nLCJKwXB1yELRo/Yg x+iClQxDAi0p9DRppY0WsJqw4/J3cBGRTmCgS1GCPDCc64KVVkFEcmSLCs3iRGGPbah0Vw6PN dkm+ShUdmD5jg1Xlq2BRgAzyHm4D4G5SOZ06AqU5tZBkfaCh986sr/tnb6fpq5pBnyC9gGTQE tbi6rZVtGR9LToj902K4esznogRVU6aLkbkPIhcFdtTCwCdcC1GIh4y7Mkpsmr430pIIY9oou O97BrVXyHaS9yBu9G0DF7FtGjt8f2J2mYLdckz0zaTZp2ysd0tSYerBWKOcHrlFDEKum2yXs X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.12 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:236562 Archived-At: Michael Heerdegen writes: > A better name for this might be "gv-place-let", though that could be > confused with "gv-letplace". I played with it a bit. It may make sense to make this "gv-place-let" accept a binding list and implement a "gv-place-let*". Here are two examples where this would be useful: (let ((x '(2 . 1))) (gv-place-let a (car x) (gv-place-let b (cdr x) (when (< b a) (cl-rotatef a b)))) x) =3D=3D> (1 . 2) (let ((l '(1 (2 3) 4))) (gv-place-let p1 (nth 1 l) (gv-place-let p2 (car p1) (setq p2 (list p2 (- p2))))) l) =3D=3D> (1 ((2 -2) 3) 4) Michael.