From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 26 21:42:34 2016 Received: (at submit) by debbugs.gnu.org; 27 Dec 2016 02:42:34 +0000 Received: from localhost ([127.0.0.1]:56193 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLhik-0007b9-Jb for submit@debbugs.gnu.org; Mon, 26 Dec 2016 21:42:34 -0500 Received: from eggs.gnu.org ([208.118.235.92]:40720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLhij-0007ax-30 for submit@debbugs.gnu.org; Mon, 26 Dec 2016 21:42:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cLhid-0002vQ-A8 for submit@debbugs.gnu.org; Mon, 26 Dec 2016 21:42:28 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: *** X-Spam-Status: No, score=3.3 required=5.0 tests=BAYES_50,FREEMAIL_FROM, MIME_CHARSET_FARAWAY,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:47012) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cLhid-0002vM-6N for submit@debbugs.gnu.org; Mon, 26 Dec 2016 21:42:27 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59924) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cLhic-0005Md-3S for bug-gnu-emacs@gnu.org; Mon, 26 Dec 2016 21:42:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cLhiX-0002rv-82 for bug-gnu-emacs@gnu.org; Mon, 26 Dec 2016 21:42:26 -0500 Received: from mail-pg0-x241.google.com ([2607:f8b0:400e:c05::241]:34294) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cLhiX-0002rL-1X for bug-gnu-emacs@gnu.org; Mon, 26 Dec 2016 21:42:21 -0500 Received: by mail-pg0-x241.google.com with SMTP id b1so10888622pgc.1 for ; Mon, 26 Dec 2016 18:42:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=VVSjusc74htevaHkR/kC6Wbc6U8gEy+Hj4ASJpoRm54=; b=Ho8NqBpHBlTej6le0pReW7dxQ9KzI1P+a5Myh/U0e2JCmPeqlZq56PlaCMhA1D3+h+ SXAW5zH16ACKLiBcT1ObAZBCMjlEizs1gff4XbwyAVEFcz/Jh6AkCeZtbnDe5XNNdudZ QWnuMZq2ZUmsvYwMsJtkhIRFwmedIdBpU+caNmWenf+n2HPZtBcG2xIG/nXfhFW8HxA9 W4Vz+hnsbxT+eNhAt8Rb6lRg4DrPp096BiSN2OWycVPBKOQ4ai8PCr4Afj0lXtEvHSKr YvGn98MxTNuEv1geBBjR4HcyT5LZqMGdWk9f/MHqtb1W1g5ZOmqYBbUY9SbZmgUf/Ris u4FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=VVSjusc74htevaHkR/kC6Wbc6U8gEy+Hj4ASJpoRm54=; b=FWymGzGiI5TScSbaiJiy5IuHaOBBJDCN4PveRi2orbsoCcxr1dVRNfdpwc4eiwTlsl moc33tByUxTi/RT+UdnZwVSIdorvuVI+vgndMolrWLc9o4GAnZdQKMm1fAzAuRsDxZLu mSc4EUOPNbf7wkQcMPcE8Y258BXwIPWuzSTGP8MIdhlw5CTH34EtM4FAWDePTNI9iRQD Gq0LKiTgx7hog7sbM11ODB92xcb84AQgGNT2I2zB2QTuuUmJ1n8K74lJUZj02tzVh9QA OOkwtkf4yRhWdgkkRwNfFkFvdiWwzjfMNipmlz4BiUW8N7bNNJ4nZchakvM2WD0PXN/3 NjHw== X-Gm-Message-State: AIkVDXKPdAjxqKoiE8tfTrqY7PnTjOX1STahSsovUGUHCQAYVJcMc8J4D8RQcxzd4zR5Iw== X-Received: by 10.98.144.86 with SMTP id a83mr27602461pfe.107.1482806538351; Mon, 26 Dec 2016 18:42:18 -0800 (PST) Received: from Zeuss-MacBook-Air.local ([112.208.1.100]) by smtp.gmail.com with ESMTPSA id k67sm84937556pfk.69.2016.12.26.18.42.16 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 26 Dec 2016 18:42:17 -0800 (PST) From: Leo Liu To: bug-gnu-emacs@gnu.org Subject: 25.1; define-inline doesn't support &rest X-Debbugs-CC: Stefan Monnier Date: Tue, 27 Dec 2016 10:42:13 +0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=gb2312 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) inline.el has a comment FIXME: How can this work with CL arglists? but it is worse. it doesn't support &rest. Try compile the following example: (define-inline rest (&rest xs) (inline-quote (apply #'vector ,xs))) =20=20 (princ (rest 1 2)) In toplevel form: test.el:7:1:Warning: =A1=AE1=A1=AF is a malformed function The header comment says defsubst: not as efficient. Could this be made clearer? In what way is defsubst less efficient? What is the outlook for defsubst or cl-defsubst? Are they on their way out?=20 Thanks, Leo From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 26 22:21:18 2016 Received: (at 25280) by debbugs.gnu.org; 27 Dec 2016 03:21:18 +0000 Received: from localhost ([127.0.0.1]:56209 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLiKE-0008Un-17 for submit@debbugs.gnu.org; Mon, 26 Dec 2016 22:21:18 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:44571) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLiKB-0008Uc-Po for 25280@debbugs.gnu.org; Mon, 26 Dec 2016 22:21:16 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id uBR3LDbZ024935; Mon, 26 Dec 2016 22:21:14 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id AFF66AE2A3; Mon, 26 Dec 2016 22:21:13 -0500 (EST) From: Stefan Monnier To: Leo Liu Subject: Re: bug#25280: 25.1; define-inline doesn't support &rest Message-ID: References: Date: Mon, 26 Dec 2016 22:21:13 -0500 In-Reply-To: (Leo Liu's message of "Tue, 27 Dec 2016 10:42:13 +0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV5900=0 X-NAI-Spam-Version: 2.3.0.9418 : core <5900> : inlines <5608> : streams <1726412> : uri <2347658> X-Spam-Score: -4.4 (----) X-Debbugs-Envelope-To: 25280 Cc: 25280@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.4 (----) > inline.el has a comment FIXME: How can this work with CL arglists? but > it is worse. it doesn't support &rest. It does, but IIRC you need to use inline-letevals to evaluate the args (it is usually needed for most/all args). > (define-inline rest (&rest xs) > (inline-quote (apply #'vector ,xs))) (define-inline rest (&rest xs) (inline-leteval xs (inline-quote (apply #'vector ',xs)))) -- Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 26 23:25:15 2016 Received: (at 25280) by debbugs.gnu.org; 27 Dec 2016 04:25:15 +0000 Received: from localhost ([127.0.0.1]:56222 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLjK7-0001ZU-86 for submit@debbugs.gnu.org; Mon, 26 Dec 2016 23:25:15 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:33085) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLjK6-0001ZF-2b for 25280@debbugs.gnu.org; Mon, 26 Dec 2016 23:25:14 -0500 Received: by mail-pg0-f66.google.com with SMTP id g1so11124367pgn.0 for <25280@debbugs.gnu.org>; Mon, 26 Dec 2016 20:25:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:face:date:in-reply-to:message-id :user-agent:mime-version; bh=HwIBd7kmQ5qWlpdfxqwB7FCfz/mKioO4tPHa1daZuJU=; b=AEcBTX8Bir9g9tCiz0q0I1jel8mrnsMU8kF3ev56Wvi3EYuO+o5W3WEcMz5Qc1Tepx HoOptFjvf3Xel/cZZJQZhy1I827gsyfW67jKuDmLIRIjCYWBQnK0JazqdDkbdY1Cb3PM zKkzr8gZDiDatsFJ7UFpgxz6kL6uGc+8bq028/kZ4iw4sJYJCues30OmJ3mxfMmlEK6G yZqmoVT/05qaER/jO8gATn9qolA14E2qb7+ZRUYObgo1LyfEhIPH41zH2kaw6/0EvQeI JH1bkl9EVLFKraYNMOPWk0NwHN26zJAVa0NEhQKbaLpKWyRq+CZMpwNGhLBQbZLZT3Wc VuYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:face:date :in-reply-to:message-id:user-agent:mime-version; bh=HwIBd7kmQ5qWlpdfxqwB7FCfz/mKioO4tPHa1daZuJU=; b=d4ifzTKh0klCtNbhUWbscSaKONJcoxmVuHvpk+44fKXbp2f4tes1j46JLEF1ozYffL KLT98WuJXzwL2Bvpet0Vt32aeE4wBxAVR0TWHoPCSOh35RMH8EEHInmsjqIFUdVhWbJD sD8u/cNNTshuMrTv+K1hD6zk0aY2s6bXfoJWkvmv3GhA/orCEYWZAuIHgrXF1JEzv5Fp tuc9WrklJAwYnvp063jJESjxk1eneCZlyssddqpPk29hDlMnJNrcW7KwSjf4hAmefDvE c2dqXCL797AMQKxJmx8HI3kW2SOI3T76labAfWUGfEsPFLE/UzObP0TbYggXF5K4AoD5 yoiA== X-Gm-Message-State: AIkVDXJB5346YS4bQhx2PLXsxxuEFU4MAz9O3MPEDKDP3rVZAEaW8Z4U3k5KJ2WNJj1U6w== X-Received: by 10.99.133.72 with SMTP id u69mr35030849pgd.171.1482812708173; Mon, 26 Dec 2016 20:25:08 -0800 (PST) Received: from Zeuss-MacBook-Air.local ([112.208.1.100]) by smtp.gmail.com with ESMTPSA id q27sm85398083pfd.49.2016.12.26.20.25.05 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 26 Dec 2016 20:25:07 -0800 (PST) From: Leo Liu To: Stefan Monnier Subject: Re: bug#25280: 25.1; define-inline doesn't support &rest References: Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAMFBMVEUaFRZLMy1dTENxVzKQ WiCrXQ97cmO/dSqSh3akjGTApXy5sJ7Sxo/Sz8Xo6eP9//xJbkruAAAAAWJLR0QAiAUdSAAAAAlw SFlzAAACxQAAAsUBidZ/7wAAAAd0SU1FB9cBBwMJOwHXewoAAAIBSURBVCjPVdNBiNNAFADQ6J4F x3hThHZBBC+WCFI8SS0iezRDcMHLHkLAg6gJH/fgYQ9xYlj2sLK4KHgqCgXFhda2Idmr4kkQPZQ0 nkQMbTypbMmMM2m7ZgYSmMef/5OZPwo7HFnx3uKPcmj0Dht1LWZJ+Hvr7dIFZXRUwl9VRTuuKDJ+ U44gjscknK4hhJaCkYRsWjmBtLqXlJAG2wipNe18OZJu1BBq1E8xafl4s6Jq2mUZGftU1y7CCxnp FVUDWJXx4C66BKBnErbuoaYNtoRTu6EZBsCbMn7W+5qOAR6WvxNOby9jHWC9hAf3n304CdiAByXs 3Nh9roLDkyb/sWV712vYwaLSAn8CPMHIAAzOPDKP2COAFm4Y4ODVWc6xG7KXsN7UeUJjjimx2uwd gCgNhr0i8C/xyCD5CiCKAMY3Bf5oDzx//w/fimscdcAZU2jv9sedx6+nYPPFIoWI/GK6QZ+EFGOR ErAjCnV3vPZ7XqlTIMbOLY7fLcvvmT7rXNWaGDexIY44N12TG2PDp7vqyl57dnCeuWwyNpnEURxk fTbDYeBnKRn4oejPYI4sH6WviBumEZ/GxX4X/x6EcURFZ7E071bjQGAxpcOAEOJuTiroDEea5Szv rVWLYfl7ZiQwSUToxrkux7OLixAWGz22+HIyWTRYcVfomOwvzusfjtVIGgLHf3MAAAAASUVORK5C YII= Date: Tue, 27 Dec 2016 12:25:03 +0800 In-Reply-To: (Stefan Monnier's message of "Mon, 26 Dec 2016 22:21:13 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (macOS 10.12.2) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 25280 Cc: 25280@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) On 2016-12-26 22:21 -0500, Stefan Monnier wrote: > (define-inline rest (&rest xs) > (inline-leteval xs > (inline-quote (apply #'vector ',xs)))) Thanks. It gets me further but still problems. New example: ;;; -*- lexical-binding: t -*- (define-inline rest (&rest xs) (inline-letevals xs (inline-quote (apply #'vector ',xs)))) (princ (rest 1 2)) ; A (let ((x 1) (y 2)) (princ (rest x y))) ; B So A prints [1 2] and B [x y] i.e. x y is not eval'd. thoughts? Leo From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 10:25:30 2016 Received: (at 25280) by debbugs.gnu.org; 27 Dec 2016 15:25:30 +0000 Received: from localhost ([127.0.0.1]:57185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLtd4-0002aT-0Y for submit@debbugs.gnu.org; Tue, 27 Dec 2016 10:25:30 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:41936) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLtd2-0002aL-6C for 25280@debbugs.gnu.org; Tue, 27 Dec 2016 10:25:28 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id uBRFPPms023145; Tue, 27 Dec 2016 10:25:26 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 91333AE10D; Tue, 27 Dec 2016 10:25:25 -0500 (EST) From: Stefan Monnier To: Leo Liu Subject: Re: bug#25280: 25.1; define-inline doesn't support &rest Message-ID: References: Date: Tue, 27 Dec 2016 10:25:25 -0500 In-Reply-To: (Leo Liu's message of "Tue, 27 Dec 2016 12:25:03 +0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.1 X-NAI-Spam-Rules: 3 Rules triggered GEN_SPAM_FEATRE=0.1, EDT_SA_DN_PASS=0, RV5901=0 X-NAI-Spam-Version: 2.3.0.9418 : core <5901> : inlines <5609> : streams <1726484> : uri <2347960> X-Spam-Score: -4.4 (----) X-Debbugs-Envelope-To: 25280 Cc: 25280@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.4 (----) > (let ((x 1) (y 2)) (princ (rest x y))) ; B > So A prints [1 2] and B [x y] i.e. x y is not eval'd. thoughts? Hmm... indeed... and it breaks down even with (rest (+ x 1) y). Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 12:42:49 2016 Received: (at 25280) by debbugs.gnu.org; 27 Dec 2016 17:42:49 +0000 Received: from localhost ([127.0.0.1]:57225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLvlx-0005mE-Cj for submit@debbugs.gnu.org; Tue, 27 Dec 2016 12:42:49 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:45921) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLvlu-0005m5-Le for 25280@debbugs.gnu.org; Tue, 27 Dec 2016 12:42:48 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id uBRHgi06027691; Tue, 27 Dec 2016 12:42:45 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 47FC9AE10D; Tue, 27 Dec 2016 12:42:44 -0500 (EST) From: Stefan Monnier To: Leo Liu Subject: Re: bug#25280: 25.1; define-inline doesn't support &rest Message-ID: References: Date: Tue, 27 Dec 2016 12:42:44 -0500 In-Reply-To: (Stefan Monnier's message of "Tue, 27 Dec 2016 10:25:25 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV5901=0 X-NAI-Spam-Version: 2.3.0.9418 : core <5901> : inlines <5610> : streams <1726497> : uri <2348024> X-Spam-Score: -4.4 (----) X-Debbugs-Envelope-To: 25280 Cc: 25280@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.4 (----) >> (let ((x 1) (y 2)) (princ (rest x y))) ; B >> So A prints [1 2] and B [x y] i.e. x y is not eval'd. thoughts? > Hmm... indeed... and it breaks down even with (rest (+ x 1) y). Wait, I was confused: `xs` is a list of expressions, so of course ', is not the right way to place it in there. To turn it into an expression that evaluates to a list of values, you generally want (list . ,xs): (define-inline sm-foo (&rest xs) (inline-letevals xs (inline-quote (apply #'vector (list . ,xs))))) and I think this works correctly. OTOH it's not as efficient as we'd like. The better way to write it is: (define-inline sm-foo (&rest xs) (inline-letevals xs (inline-quote (vector . ,xs)))) but I now see that this is not handled properly in the case the function is not inlined. More specifically, the `sm-foo` function gets defined as: (lambda (&rest xs) (apply vector xs)) where the `vector` failed to be quoted with #'. I installed the patch below into `master` which should fix it. Stefan diff --git a/lisp/emacs-lisp/inline.el b/lisp/emacs-lisp/inline.el index 058c56c3b49..5ceb0d9ed29 100644 --- a/lisp/emacs-lisp/inline.el +++ b/lisp/emacs-lisp/inline.el @@ -191,9 +191,9 @@ After VARS is handled, BODY is evaluated in the new environment." (while (and (consp exp) (not (eq '\, (car exp)))) (push (inline--dont-quote (pop exp)) args)) (setq args (nreverse args)) - (if exp - `(apply ,@args ,(inline--dont-quote exp)) - args))) + (if (null exp) + args + `(apply #',(car args) ,@(cdr args) ,(inline--dont-quote exp))))) (_ exp))) (defun inline--do-leteval (var-exp &rest body) From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 28 21:00:25 2016 Received: (at 25280) by debbugs.gnu.org; 29 Dec 2016 02:00:25 +0000 Received: from localhost ([127.0.0.1]:58378 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cMQ12-0004yQ-VJ for submit@debbugs.gnu.org; Wed, 28 Dec 2016 21:00:25 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:35917) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cMQ10-0004yB-Jq for 25280@debbugs.gnu.org; Wed, 28 Dec 2016 21:00:23 -0500 Received: by mail-pg0-f66.google.com with SMTP id n5so17312197pgh.3 for <25280@debbugs.gnu.org>; Wed, 28 Dec 2016 18:00:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:face:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=JTrhoZwxEzRgDGaiZEagCcg8ZguM5OqJnpiagR17ul0=; b=tS1B/f8N26zMkCR11kEbwISya+slKoqcJv+QxKryqEXWGEBjpgWfJFo5wAr/cngbWN GSE4WonTi5eeGl2AsTbbD40vUZ1+9vBKv/PgxT4eFEuV1EB38F2d0Hv4qqc3sG3eOFIn zhv7Jc8gKa8kPmDwEVvSUm8t6n99cgcEFKIVMg/kP6ZImJoS6fpyykvLe/2JOWCNkg6B O7EKR8N/hfCDkEy/71xOgRIz0LXfBF4tqYDt+6TS1REpv3I2Ux7YF/oiR5GakQqKhjkM hmN35g7JXhCzbNGyfs/k5Q4p99A7ZSGBCxu8r7aUUHScARS0UgvM5GpWapu60dw0SBhU giDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:face:date :in-reply-to:message-id:user-agent:mime-version :content-transfer-encoding; bh=JTrhoZwxEzRgDGaiZEagCcg8ZguM5OqJnpiagR17ul0=; b=UPvTLtlHS3qB6OKnojoZIi2nftjLsBNi9HRRcfVGFB+Y4PEQptoSTzTIwznhKX9yyP 3ys8CyA5mEHMch2hLVQQc5Pzo/V3S6PpTZ8LEcmZ3SGP6feQ1DRCito7l8GwztjrTA6f 2pie8y4YXuGgHkLG1SPYO2LNVpZTKOMpDSbIDuegS64vF94LRnoHLJFFXZyWQbpgcYiq HMAR5eCQdzBs5iGxEmJE0qZT/vgw9TfgvUZbyfWWagcb4B3FR/BB/sOlUQYXW9yjTQdw UdogZUuTeoN4OpLCHC3U1KtUrwW+LVjH/jlWM+7LAsdOypjLR0TcobKzi4PyK5NHu5qA bULw== X-Gm-Message-State: AIkVDXJgLDBKeaaR1YZmMVfZUI/1GT394orppYnKJJyDqwlLZ03cvaHuDcKKKSz4Lu9Eqw== X-Received: by 10.98.72.81 with SMTP id v78mr37052415pfa.104.1482976816428; Wed, 28 Dec 2016 18:00:16 -0800 (PST) Received: from Zeuss-MacBook-Air.local ([112.208.1.100]) by smtp.gmail.com with ESMTPSA id d1sm99946927pfb.76.2016.12.28.18.00.13 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 Dec 2016 18:00:15 -0800 (PST) From: Leo Liu To: Stefan Monnier Subject: Re: bug#25280: 25.1; define-inline doesn't support &rest References: Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAGFBMVEUKDAg1NjRWV1V9fnyg op/DxcLk5uP8/voi63ReAAAACXBIWXMAAAWJAAAFiQFtaJ36AAAAB3RJTUUH1goZAgAz00bgXgAA AeVJREFUKM9lk0Fz2jAQhQXJD3CCO70CmcC1YMtcWyTZ14Bl69xats4N9r6/3zWQBlodNKNPu/s0 b1cCQFuZGpfVVh3vAvBJolIXRkapSuoRUtIdFyo1Y5xSdlAj7OtvD1XnXxmWRi+eWgcxyCed1lVV B1CrKyujMoi+eLA5kU1SsjoHlW+nQjTtFxk4MXgrOxvIqzoTZR8XgPaLl419zgsMaSGFPiUOZCIh thsx5Xy9NsK8Kwf/JoQgMxcVJ301HKkcSWaT0O7FY056J4U9xcYfnmVXG4801lW6lqwu2nKFZoHC HuzvaTVndZ+LaRQgZdthXw1cpynEkLEwyFHXk/aIxNQ6QeooJuzPMB+wn+D7JJNsiCcVA13/A3h/ xE9J+WidpAwoYNmRFwyvSRhNVtsdaAewzZZP5uw82QL9+tyNfocyP0McAzICUr5Mk9RdIjWasUNx aIIt6NK4ZtXIMdfMQt3nuMAyWbLI4DqZ4xPq/ag8jPond4XU/cLuOgw6XCFX/YCUfcDAMMH58fD4 G9kDchwfqVefkBwup2uZM+Q4WhJt5jN3AxXCsaS2yXEDuWgS8VOzW0gFjhEPmLyFMKBFaLb1HRwc DiaKwx0EeTMRYnYPQRW3PP4HApvlMv0PttX5v/D6Aws3IOSEwzmLAAAAAElFTkSuQmCC Date: Thu, 29 Dec 2016 10:00:11 +0800 In-Reply-To: (Stefan Monnier's message of "Tue, 27 Dec 2016 12:42:44 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (macOS 10.12.2) MIME-Version: 1.0 Content-Type: text/plain; charset=gb2312 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 25280 Cc: 25280@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On 2016-12-27 12:42 -0500, Stefan Monnier wrote: > OTOH it's not as efficient as we'd like. The better way to write it is: > > (define-inline sm-foo (&rest xs) > (inline-letevals xs (inline-quote (vector . ,xs)))) I misunderstood no support for `,@' implied `. ,'. Good to know it is not the case. My experiment seems to suggest that inline-letevals is only needed for variables that are eval'd more than once. Is that understanding correct? I also get compiler warning:=20 In rest: t2.el:4:38:Warning: reference to free variable =A1=AEvector=A1=AF where t2.el has the contents: ;;; -*- lexical-binding: t -*- (define-inline rest (&rest xs) (inline-letevals xs (inline-quote (vector . ,xs)))) Thanks, Leo From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 28 21:42:04 2016 Received: (at 25280) by debbugs.gnu.org; 29 Dec 2016 02:42:05 +0000 Received: from localhost ([127.0.0.1]:58410 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cMQfM-0007l9-Oi for submit@debbugs.gnu.org; Wed, 28 Dec 2016 21:42:04 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:34635) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cMQfL-0007kc-Gn for 25280@debbugs.gnu.org; Wed, 28 Dec 2016 21:42:03 -0500 Received: by mail-pg0-f66.google.com with SMTP id b1so17407362pgc.1 for <25280@debbugs.gnu.org>; Wed, 28 Dec 2016 18:42:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:face:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=SChC6g12IrDeZ9h8EiQ71aqUd2VguRHa84yopBhgm9M=; b=N8PXkvMv9bFz4V+vrVuGl/fsUfB2TXyyDMiZY8/rVDet7SutdQ6BmrfkgFlldrg9qG 4+TY8tHWZMTe8fcNbdOjcD1xPZGOAOubTLlhxifCO5Hg5Z0tuY8STXAVixWZN0gkLPgS FFXIsDj1QYf2fObgV2v8+vUktGDKEAizRc/Eyl1t27PaLwMJWKBuO8ag+KKppuz9Y7EY YSWJ2ma20hqkWO8/uIpZBDo5BwxV+XtGR80c+w+4xTQc7SsSWw+Lnd3dj4pYRVOIFO/L XDDC3MhS8aeT6PKK5iKUTyZ0K0E4X6mbMcaX1Hjz+/3Mht7LkusMlxtW3I1mRZFyy1r2 +5cQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:face:date :in-reply-to:message-id:user-agent:mime-version :content-transfer-encoding; bh=SChC6g12IrDeZ9h8EiQ71aqUd2VguRHa84yopBhgm9M=; b=gpB3HMoqFzBj5UqTCKfzYSZoDwSXoR2UR8xx8HGSjqlMPNfwi/UTpRr7y+yj1WG54L iSo47ii3B74g2G+jTCCOQ8DHBtozrndmk9flPaMNvJszMA9ptf6gzsdeq/VcoM1MkhA+ w8CIoLOpY4fNPcqunB+b6NoBQcrxjS3/bZh3oe03PE4hH48qx7el/3oyPU8QaKODepUr dMYVRdh1ZEpoR74zYTO+eEQWo6v1mS+2no/16vvIj8OkHiOLh2OwgaqwUcLRsk3UqkuP 1izw6OVgiC2unrf6MfdWK6PICTUmSPGcG70NjkOq6b+MRAyB6EmsnyUmYooy6EvqQp4S SGmw== X-Gm-Message-State: AIkVDXJuN1YKGHe1ounZpZi2P4j4SniliiztqKBlc8OD6Cxyx2PQ8Z/Uv4sxHl7xJY7Vfg== X-Received: by 10.99.117.71 with SMTP id f7mr72934928pgn.126.1482979317748; Wed, 28 Dec 2016 18:41:57 -0800 (PST) Received: from Zeuss-MacBook-Air.local ([112.208.1.100]) by smtp.gmail.com with ESMTPSA id m69sm42729536pfj.34.2016.12.28.18.41.55 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 Dec 2016 18:41:56 -0800 (PST) From: Leo Liu To: Stefan Monnier Subject: Re: bug#25280: 25.1; define-inline doesn't support &rest References: Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAMFBMVEUaFRZLMy1dTENxVzKQ WiCrXQ97cmO/dSqSh3akjGTApXy5sJ7Sxo/Sz8Xo6eP9//xJbkruAAAAAWJLR0QAiAUdSAAAAAlw SFlzAAACxQAAAsUBidZ/7wAAAAd0SU1FB9cBBwMJOwHXewoAAAIBSURBVCjPVdNBiNNAFADQ6J4F x3hThHZBBC+WCFI8SS0iezRDcMHLHkLAg6gJH/fgYQ9xYlj2sLK4KHgqCgXFhda2Idmr4kkQPZQ0 nkQMbTypbMmMM2m7ZgYSmMef/5OZPwo7HFnx3uKPcmj0Dht1LWZJ+Hvr7dIFZXRUwl9VRTuuKDJ+ U44gjscknK4hhJaCkYRsWjmBtLqXlJAG2wipNe18OZJu1BBq1E8xafl4s6Jq2mUZGftU1y7CCxnp FVUDWJXx4C66BKBnErbuoaYNtoRTu6EZBsCbMn7W+5qOAR6WvxNOby9jHWC9hAf3n304CdiAByXs 3Nh9roLDkyb/sWV712vYwaLSAn8CPMHIAAzOPDKP2COAFm4Y4ODVWc6xG7KXsN7UeUJjjimx2uwd gCgNhr0i8C/xyCD5CiCKAMY3Bf5oDzx//w/fimscdcAZU2jv9sedx6+nYPPFIoWI/GK6QZ+EFGOR ErAjCnV3vPZ7XqlTIMbOLY7fLcvvmT7rXNWaGDexIY44N12TG2PDp7vqyl57dnCeuWwyNpnEURxk fTbDYeBnKRn4oejPYI4sH6WviBumEZ/GxX4X/x6EcURFZ7E071bjQGAxpcOAEOJuTiroDEea5Szv rVWLYfl7ZiQwSUToxrkux7OLixAWGz22+HIyWTRYcVfomOwvzusfjtVIGgLHf3MAAAAASUVORK5C YII= Date: Thu, 29 Dec 2016 10:41:53 +0800 In-Reply-To: (Leo Liu's message of "Thu, 29 Dec 2016 10:00:11 +0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (macOS 10.12.2) MIME-Version: 1.0 Content-Type: text/plain; charset=gb2312 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 25280 Cc: 25280@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On 2016-12-29 10:00 +0800, Leo Liu wrote: > In rest: > t2.el:4:38:Warning: reference to free variable =A1=AEvector=A1=AF Ok, this is the bug that is fixed in commit e6161f648903d821865b9610b3b6aa0f82a5dcb7. Leo From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 28 22:25:47 2016 Received: (at 25280) by debbugs.gnu.org; 29 Dec 2016 03:25:47 +0000 Received: from localhost ([127.0.0.1]:58415 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cMRLf-00027M-5b for submit@debbugs.gnu.org; Wed, 28 Dec 2016 22:25:47 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:52281) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cMRLc-00027D-Qp for 25280@debbugs.gnu.org; Wed, 28 Dec 2016 22:25:45 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id uBT3Pexn012891; Wed, 28 Dec 2016 22:25:42 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 83BBBAE12C; Wed, 28 Dec 2016 22:25:40 -0500 (EST) From: Stefan Monnier To: Leo Liu Subject: Re: bug#25280: 25.1; define-inline doesn't support &rest Message-ID: References: Date: Wed, 28 Dec 2016 22:25:40 -0500 In-Reply-To: (Leo Liu's message of "Thu, 29 Dec 2016 10:00:11 +0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV5902=0 X-NAI-Spam-Version: 2.3.0.9418 : core <5902> : inlines <5614> : streams <1726698> : uri <2348851> X-Spam-Score: -4.4 (----) X-Debbugs-Envelope-To: 25280 Cc: 25280@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.4 (----) > I misunderstood no support for `,@' implied `. ,'. No: I can turn (a b c . ,d) into (apply #'a b c d) but doing that for (a b ,@c d) is more cumbersome. > Good to know it is not the case. My experiment seems to suggest that > inline-letevals is only needed for variables that are eval'd more than > once. There are cases where inline-letevals can be skipped, indeed, but "eval'd only once" is not quite sufficient: you also have to make sure it's eval'd at least once, and that the various arguments are evaluated in the right order and before anything else happens (to stay true to the behavior of a function call). > I also get compiler warning:=20 > > In rest: > t2.el:4:38:Warning: reference to free variable =E2=80=98vector=E2=80=99 > > where t2.el has the contents: > > ;;; -*- lexical-binding: t -*- > > (define-inline rest (&rest xs) > (inline-letevals xs (inline-quote (vector . ,xs)))) I assume this is with an Emacs build that doesn't yet have my recent patch, right? Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 29 00:54:16 2016 Received: (at 25280-done) by debbugs.gnu.org; 29 Dec 2016 05:54:16 +0000 Received: from localhost ([127.0.0.1]:58449 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cMTfM-0005hn-Bw for submit@debbugs.gnu.org; Thu, 29 Dec 2016 00:54:16 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:35429) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cMTfL-0005hb-3U for 25280-done@debbugs.gnu.org; Thu, 29 Dec 2016 00:54:15 -0500 Received: by mail-pg0-f66.google.com with SMTP id i5so17878896pgh.2 for <25280-done@debbugs.gnu.org>; Wed, 28 Dec 2016 21:54:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:face:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=oZFcNznNVT7XfTeA1EJ6tPhOBdN2tm9SuIJUD51InzM=; b=Nlb8C04Lk/hmkZ+OVfLbDyysTQuhTj7Pd8L/bGTD4gPzWlaX1KMeqo0kejGZvervnK e/2XpMtTRShclvH6bpovV2JyhU+aULSlVArkvyEaUsHq2qqsFHf9Wd7YSvMKvFUB/ri1 XxKfZ8CFyk07R4v1irpOHEM16HxaggDgJb7gmR84kQFrTYIKIS3L3Djcfh+zYIk5SFp/ lzlXqvfHCv45M1wi8IwCnXazVnNwKJAYUTGIneJU/mBzahoPw1b3O+eO73pXAOLRlRMe 9TaYPKc4RIRTcxg92vwvf7EN4gXB346n4Z8CwyGvuoXTUxgEsPDubHqmDbGj+HuyjtiX 8u2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:face:date :in-reply-to:message-id:user-agent:mime-version :content-transfer-encoding; bh=oZFcNznNVT7XfTeA1EJ6tPhOBdN2tm9SuIJUD51InzM=; b=s4ImhjFYYKxHD4theF1fjVrrqS/lnnEBEh9SP6K1L/YieIHx9T6M2X83pgI17AB2KE PwqD0srCEJ65z1Qd6C2/k/DN3XKda2HWg2wBK/bk2dvDcucNUz/DzCxIPxxtuilXZN9F +jiAv5jfg60adO/r1oTzK2UisYlKZgXv45Y5BNPHaCmXH7Ykt8OOzOqb0X1hwEnX0owr lrrqNy4VARDAXSr6LB4gCgTcSkKvyoH3SqJWPUOcrugc2cINTwAztx8swQQEKX2Di+VN FB5wVX1dLpLPXLKOmWaPeID8s4zNIkN8FA9AAUyr8JOdhgaQGWVG1shduqSoHAJrn82F rz8g== X-Gm-Message-State: AIkVDXKOypdK4UIMoOSVfQ1Nzh8946ykritLZlHAx7qv0DCSoGmG2qPqaAQQXmhNt7h3ow== X-Received: by 10.84.216.93 with SMTP id f29mr84386411plj.91.1482990849381; Wed, 28 Dec 2016 21:54:09 -0800 (PST) Received: from Zeuss-MacBook-Air.local ([112.208.1.100]) by smtp.gmail.com with ESMTPSA id m69sm43837447pfj.34.2016.12.28.21.54.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 Dec 2016 21:54:08 -0800 (PST) From: Leo Liu To: Stefan Monnier Subject: Re: bug#25280: 25.1; define-inline doesn't support &rest References: Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAGFBMVEUKDAg1NjRWV1V9fnyg op/DxcLk5uP8/voi63ReAAAACXBIWXMAAAWJAAAFiQFtaJ36AAAAB3RJTUUH1goZAgAz00bgXgAA AeVJREFUKM9lk0Fz2jAQhQXJD3CCO70CmcC1YMtcWyTZ14Bl69xats4N9r6/3zWQBlodNKNPu/s0 b1cCQFuZGpfVVh3vAvBJolIXRkapSuoRUtIdFyo1Y5xSdlAj7OtvD1XnXxmWRi+eWgcxyCed1lVV B1CrKyujMoi+eLA5kU1SsjoHlW+nQjTtFxk4MXgrOxvIqzoTZR8XgPaLl419zgsMaSGFPiUOZCIh thsx5Xy9NsK8Kwf/JoQgMxcVJ301HKkcSWaT0O7FY056J4U9xcYfnmVXG4801lW6lqwu2nKFZoHC HuzvaTVndZ+LaRQgZdthXw1cpynEkLEwyFHXk/aIxNQ6QeooJuzPMB+wn+D7JJNsiCcVA13/A3h/ xE9J+WidpAwoYNmRFwyvSRhNVtsdaAewzZZP5uw82QL9+tyNfocyP0McAzICUr5Mk9RdIjWasUNx aIIt6NK4ZtXIMdfMQt3nuMAyWbLI4DqZ4xPq/ag8jPond4XU/cLuOgw6XCFX/YCUfcDAMMH58fD4 G9kDchwfqVefkBwup2uZM+Q4WhJt5jN3AxXCsaS2yXEDuWgS8VOzW0gFjhEPmLyFMKBFaLb1HRwc DiaKwx0EeTMRYnYPQRW3PP4HApvlMv0PttX5v/D6Aws3IOSEwzmLAAAAAElFTkSuQmCC Date: Thu, 29 Dec 2016 13:54:05 +0800 In-Reply-To: (Stefan Monnier's message of "Wed, 28 Dec 2016 22:25:40 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (macOS 10.12.2) MIME-Version: 1.0 Content-Type: text/plain; charset=gb2312 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 25280-done Cc: 25280-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) version: 25.2 On 2016-12-28 22:25 -0500, Stefan Monnier wrote: >> I misunderstood no support for `,@' implied `. ,'. > > No: I can turn > > (a b c . ,d) > > into > > (apply #'a b c d) > > but doing that for > > (a b ,@c d) > > is more cumbersome. Thanks. >> Good to know it is not the case. My experiment seems to suggest that >> inline-letevals is only needed for variables that are eval'd more than >> once. > > There are cases where inline-letevals can be skipped, indeed, but > "eval'd only once" is not quite sufficient: you also have to make sure > it's eval'd at least once, and that the various arguments are evaluated > in the right order and before anything else happens (to stay true to > the behavior of a function call). Understood. >> In rest: >> t2.el:4:38:Warning: reference to free variable =A1=AEvector=A1=AF > I assume this is with an Emacs build that doesn't yet have my recent > patch, right? Exactly. Leo From unknown Tue Aug 19 08:37:05 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 26 Jan 2017 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator