From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?UTF-8?Q?Cl=c3=a9ment_Pit-Claudel?= Newsgroups: gmane.emacs.devel Subject: Re: A combination of defmacro, functionp, and quoted lambdas yields different results on consecutive evaluations Date: Mon, 26 Feb 2018 12:40:36 -0500 Message-ID: <5f0d3698-23a3-34f1-2fc9-f25d80c3e579@gmail.com> References: <08190786-14de-a899-f591-a7043c87bebb@gmail.com> <9dbc26f4-e86f-c3df-8193-61a0a3837466@gmail.com> <10414fb8-e09c-a4fa-dcd1-5ccfff10650d@gmail.com> <555f3f1b-d31f-ec12-e460-8b0c20816d45@gmail.com> <9fd6253e-f7c5-8a19-d4c0-771d862bfaab@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1519666729 16052 195.159.176.226 (26 Feb 2018 17:38:49 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 26 Feb 2018 17:38:49 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 26 18:38:45 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eqMjb-0003YH-LS for ged-emacs-devel@m.gmane.org; Mon, 26 Feb 2018 18:38:43 +0100 Original-Received: from localhost ([::1]:60578 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eqMlc-0004pr-AZ for ged-emacs-devel@m.gmane.org; Mon, 26 Feb 2018 12:40:48 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54272) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eqMlV-0004pc-P7 for emacs-devel@gnu.org; Mon, 26 Feb 2018 12:40:42 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eqMlS-00044D-I7 for emacs-devel@gnu.org; Mon, 26 Feb 2018 12:40:41 -0500 Original-Received: from mail-it0-x234.google.com ([2607:f8b0:4001:c0b::234]:39483) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eqMlS-000441-CC for emacs-devel@gnu.org; Mon, 26 Feb 2018 12:40:38 -0500 Original-Received: by mail-it0-x234.google.com with SMTP id l187so11934191ith.4 for ; Mon, 26 Feb 2018 09:40:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=z9eeI2vuMAneLM0dY/g+GAAKPYv4Dn0Tw97j+PNYsLA=; b=Qc1Qu2TayFVpmi4V8OIsGoe0+zqJI9bdzsb0yvxnuELvM48yuJSQ7Pd1xhpk/xPIEO AKGUzXDLjmaZh4P7NU0iUGZgGwMXKRt8VCBLYafXG5JNwjWF2H/0EFb8dZHMcUYBIDtn 8fizeQ2sj28xy/j2WLKYzBV7/3FaBZUh0ezfKpffYVd/zPdsxH67Ee5A6esnS2VQoceK bKhAl4sYNWiBYwN08TyJsGohWujMCilVhGsLi0WM0EDLPCcC7sx5FNkWydb0XnqgINKf U3BS8A1Jdd+vNPXZyMtM9DJgJVyKA6GSmKJPampj1t/lTAMZqSTg2ZaAAPzyEjAaEDLU GfmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=z9eeI2vuMAneLM0dY/g+GAAKPYv4Dn0Tw97j+PNYsLA=; b=njXoAgbkTxiBvfbI1t257KRJ4ea3fEdxElZ2y2eH7QHGaPm9L4vLzvi9pvhbNA8LhS EiK/B2FIhevvkyZ0X5vYDFccvhQHf0TuGDY86U33eMJs0w/j0x6kgSUuhOkKMwLiszXn 50A0S9LtFVvU1gGqcBbIU7GPuqA2RU8R1+rIhIuphBI6jG+30C1TFplDrdEgXQP/ohqr DRIhGqnFFVoqJ3KLZPccoXk569btD7Q7G84XF+oGhAn1YDA/FCQgVTQjMttfbGujWR+b 1jqSDwDn2XyFE8peMpJXo6MgStmqKOqc+nY51qiEVJyqcH2rIMO9ucuaweVcB8AeVK4P aUzw== X-Gm-Message-State: APf1xPBTDiq0JYdCEZwamgHFX1vZ0bLUejgGVp2ikAFXgMPTbEno9HiJ 1t07RW7thQv+5ddN2etzc+TA25Ar X-Google-Smtp-Source: AG47ELugeILHG8NslXSXg+knwiRaA0EK1xUtLPERvxr5/wSwOJv5zSVeuKvjIPTW52DBRKOs4G5vew== X-Received: by 10.36.31.10 with SMTP id d10mr6221830itd.127.1519666837503; Mon, 26 Feb 2018 09:40:37 -0800 (PST) Original-Received: from [18.26.2.123] (26-2-123.dynamic.csail.mit.edu. [18.26.2.123]) by smtp.gmail.com with ESMTPSA id m32sm5687968iti.33.2018.02.26.09.40.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Feb 2018 09:40:37 -0800 (PST) In-Reply-To: <9fd6253e-f7c5-8a19-d4c0-771d862bfaab@gmail.com> Content-Language: en-GB X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4001:c0b::234 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:223079 Archived-At: On 2018-02-26 12:32, Clément Pit-Claudel wrote: > I find it especially confusing that eval-after-load bypasses the quote. Looks like it wasn't always like that; eval-after-load's behavior was changed in 2013: commit de0503df97a507a523a192e877a8d5c7439c4846 Author: Stefan Monnier Date: Thu Jun 13 18:24:52 2013 -0400 * lisp/subr.el (with-eval-after-load): New macro. (eval-after-load): Allow form to be a function. take advantage of lexical-binding. (do-after-load-evaluation): Use dolist and adjust to new format. * lisp/simple.el (bad-packages-alist): Use dolist and with-eval-after-load. * doc/lispref/loading.texi (Hooks for Loading): Document with-eval-after-load instead of eval-after-load. Don't document after-load-alist. * src/lread.c (syms_of_lread): * src/fns.c (Fprovide): Adjust to new format of after-load-alist. That code added a (declare (compiler-macro …)) form to eval-after-load, which says ';; Quote with lambda so the compiler can look inside'. Was the change in behavior intended? Without that 'declare' form, eval-after-load doesn't look into its argument and makes it easy to delay the interpretation of a snippet until a file is loaded. Clément.